注释很详细,直接上代码
上一篇
新增内容
1.Dialog(模式对话框和非模式对话框)
模式对话框:在对话框没有消失之前无法操作父窗口
非模式对话框:对话框的出现不会影响对父窗口的操作
2.setButton(对话框设置初始位置与大小属性)
3.对话框关闭的事件响应
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class swing_test_10 {
public static void main(String[] args) {
Frame fame = new Frame("测试对话框");
//创建两个对话框,一个模式的,一个非模式的
Dialog dialogMode = new Dialog(fame, "模式对话框", true);//模式对话框
Dialog dialogNoMode = new Dialog(fame, "非模式对话框", false);//非模式对话框
//通过setButton()方法设置位置以及大小
dialogMode.setBounds(200, 200, 200, 200);
dialogNoMode.setBounds(200, 200, 200, 200);
//创建两个按钮
Button buttonMode = new Button("打开模式对话框");
Button buttonNoMode = new Button("打开非模式对话框");
//按钮点击事件
buttonMode.addActionListener(e -> {
dialogMode.setVisible(true);
});//打开模式对话框
buttonNoMode.addActionListener(e -> {
dialogNoMode.setVisible(true);
});//打开非模式对话框
//窗口关闭响应
fame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
fame.setVisible(false);
}
});
//模式对话框关闭响应
dialogMode.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
dialogMode.setVisible(false);
}
});
//非模式对话框关闭响应
dialogNoMode.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
dialogNoMode.setVisible(false);
}
});
//将按钮添加到frame中
fame.add(buttonMode, BorderLayout.NORTH);
fame.add(buttonNoMode, BorderLayout.CENTER);
//自适应并显示
fame.pack();
fame.setVisible(true);
}
}
运行效果
下一篇