栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

未修饰的JFrame阴影

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

未修饰的JFrame阴影

基本上,您需要制作一系列的图层。

  • Jframe
  • ShadowPanel
  • and content…

    import java.awt.AlphaComposite;
    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.Dimension;
    import java.awt.EventQueue;
    import java.awt.Graphics;
    import java.awt.Graphics2D;
    import java.awt.GridBagLayout;
    import javax.swing.Jframe;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.UIManager;
    import javax.swing.UnsupportedLookAndFeelException;
    import javax.swing.border.EmptyBorder;

    public class ShadowWindow {

    public static void main(String[] args) {    new ShadowWindow();}public ShadowWindow() {    EventQueue.invokeLater(new Runnable() {        @Override        public void run() { try {     UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) { } Jframe frame = new Jframe("Testing"); frame.setUndecorated(true); frame.setBackground(new Color(0, 0, 0, 0)); frame.setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE); frame.setContentPane(new ShadowPane()); JPanel panel = new JPanel(new GridBagLayout()); panel.add(new JLabel("Look ma, no hands")); frame.add(panel); frame.pack(); frame.setLocationRelativeTo(null); frame.setVisible(true);        }    });}public class ShadowPane extends JPanel {    public ShadowPane() {        setLayout(new BorderLayout());        setOpaque(false);        setBackground(Color.BLACK);        setBorder(new EmptyBorder(0, 0, 10, 10));    }    @Override    public Dimension getPreferredSize() {        return new Dimension(200, 200);    }    @Override    protected void paintComponent(Graphics g) {        super.paintComponent(g);        Graphics2D g2d = (Graphics2D) g.create();        g2d.setComposite(AlphaComposite.SrcOver.derive(0.5f));        g2d.fillRect(10, 10, getWidth(), getHeight());        g2d.dispose();    }}

    }



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/483606.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号