注释很详细,直接上代码
上一篇
新增内容
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);}
}
运行效果


