Swing之JFrame窗口

本文介绍了JavaSwing中的JFrame和JDialog组件,重点讲解了如何使用容器进行组件操作,以及JDialog的弹出和基本配置。作者强调了JFrame的Frame功能和JDialog的关闭事件集成优势。
摘要由CSDN通过智能技术生成

3.1窗口、面板

public class JFrameDemo2 {
    public static void main(String[] args) {
        MyJframe2 myJframe2 = new MyJframe2();
        myJframe2.init();
    }
}
class MyJframe2 extends JFrame{

    public void init(){
        this.setVisible(true);
        this.setBounds(10,10,200,200);
        //获得一个容器
        Container container= this.getContentPane();
        container.setBackground(Color.blue);
        //标签
        JLabel label = new JLabel("CAMP.sr7");
        this.add(label);

        //让文本居中
        label.setHorizontalAlignment(SwingConstants.CENTER);
        //关闭事件
        this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    }
}

跟Frame差别就是多了个容器Container 用容器操作代替了Frame 功能更强大了而且很多东西只能在容器上生效,关闭窗口等一些监听不需要自己写,已经写好了。

3.2JDialog弹窗

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

//主窗口
public class JDialogDemo extends JFrame {
    public JDialogDemo(){
        this.setVisible(true);
        this.setSize(700,500);
        this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

        //JFrame 放东西 容器
        Container container = this.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 MyDialog();
            }
        });
        container.add(button);
    }


    public static void main(String[] args) {
        new JDialogDemo();
    }
}



//弹窗的窗口
class MyDialog extends JDialog{
    public MyDialog(){
        this.setVisible(true);
        this.setBounds(100,100,500,500);
//        this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

        Container container = new Container();
        Label label = new Label("应该弹出来这个就对了");
        label.setBackground(Color.blue);
        label.setSize(20,20);
        container.add(label);

    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值