zoukankan      html  css  js  c++  java
  • GUI05-Swing01

    3.Swing

    3.1窗口 、 容器

    public class JFrameDemo {
        //init(); 初始化
        public void init(){
            JFrame frame = new JFrame("这是第一个JFrame窗口");
            frame.setVisible(true);
            frame.setBounds(100,100,200,200);
            //设置文字
            JLabel label = new JLabel("欢迎来到相亲大会");
            //让文本标签居中 设置水平对齐
            label.setHorizontalAlignment(SwingConstants.CENTER);
            frame.add(label);
            Container contentPane = frame.getContentPane();
            contentPane.setBackground(Color.cyan);
            //关闭事件
            frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        }
    
        public static void main(String[] args) {
            //创建一个窗口
            new JFrameDemo().init();
        }
    }
    

    JFrameDemo

    3.2弹窗

    JDialog,,用来被弹出,默认就有关闭事件

    //主方法
    public class DialogDemo extends JFrame {
        public DialogDemo(){
            setVisible(true);
            setBounds(100,100,700,500);
            setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    
            //JFrame放东西 容器
            Container container = getContentPane();
            container.setLayout(null);
    
            //按钮
            JButton button = new JButton("点击弹出一个对话框");
            button.setBounds(30,30,200,50);
    
            //点击按钮触发弹窗
            button.addActionListener(new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent e) {
                    new MyDialogDemo();
                }
            });
            container.add(button);
        }
    
        public static void main(String[] args) {
            new DialogDemo();
        }
    }
    //弹出窗口
    class MyDialogDemo extends JDialog{
        public MyDialogDemo() {
            this.setVisible(true);
            this.setBounds(100,100,500,500);
            //this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
            Container container = this.getContentPane();
            container.setLayout(null);
            container.add(new JLabel("狂神最帅"));
        }
    }
    

    JDialog

    3.3 标签

    lable

    JLable lable = new JLable("xxxx");

    图标Icon

    //图标需要实现类,Frame继承
    public class IconDemo extends JFrame implements Icon {
        private int width;
        private int height;
    
        public IconDemo(){
        }
    
        public IconDemo(int width, int height) {
            this.width = width;
            this.height = height;
        }
        public void init(){
            IconDemo iconDemo = new IconDemo(15,15);
            //图标可以放在标签上,也可以放在按钮上
            JLabel label = new JLabel("icontest", iconDemo, SwingConstants.CENTER);
            Container container = getContentPane();
            container.add(label);
            this.setVisible(true);
            this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        }
        @Override
        public void paintIcon(Component c, Graphics g, int x, int y) {
            g.fillOval(x,y,width,height);
        }
        @Override
        public int getIconWidth() {
            return width;
        }
        @Override
        public int getIconHeight() {
            return height;
        }
        public static void main(String[] args) {
            new IconDemo().init();
        }
    }
    

    IconDemo

    图片Icon

    public class ImageIconDemo extends JFrame {
        public ImageIconDemo(){
            //获取图片地址
            JLabel label = new JLabel("ImageIcon");
            URL url = ImageIconDemo.class.getResource("male.gif");
            ImageIcon icon = new ImageIcon(url);
            label.setIcon(icon);
            label.setHorizontalAlignment(SwingConstants.CENTER);
            Container container = getContentPane();
            container.add(label);
            this.setVisible(true);
            this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
            this.setBounds(100,100,200,200);
        }
    
        public static void main(String[] args) {
            new ImageIconDemo();
        }
    }
    

    ImageIconDemo

    刚刚参加工作,很有很多不懂不会的,发现错误,欢迎指正,谢谢!
  • 相关阅读:
    Redis键是如何过期删除的
    使用EventBus + Redis发布订阅模式提升业务执行性能(下)
    使用EventBus + Redis发布订阅模式提升业务执行性能
    使用C#的计时器加观察者模式完成报警推送需求
    Go 语言入门教程:变量
    Go 语言入门教程:安装
    Docker 入门:Dockerfile
    Docker 入门:容器
    Docker 入门:什么是 Docker ?
    Windows 系统如何安装 Docker
  • 原文地址:https://www.cnblogs.com/xd-study/p/12966142.html
Copyright © 2011-2022 走看看