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);
}
}