JDialog 设置为应用程序模式后会发生什么?
JDialog Modal 类型 APPLICATION_MODAL 阻止所有顶级窗口,并对它有约束。以下是一个使用应用程序模式设置 JDialog 的示例
示例
import java.awt.Cursor; import java.awt.Dialog.ModalityType; import java.awt.Dimension; import java.awt.event.ActionEvent; import javax.swing.AbstractAction; import javax.swing.JButton; import javax.swing.JDialog; import javax.swing.JFrame; public class SwingDemo { public static void main(String[] args) { JFrame frame = new JFrame(); frame.setSize(new Dimension(600, 400)); JDialog dialog = new JDialog(frame, "New",ModalityType.APPLICATION_MODAL); dialog.setSize(300, 300); frame.add(new JButton(new AbstractAction("Click to generate") { @Override public void actionPerformed(ActionEvent e) { frame.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); dialog.setVisible(true); } })); frame.setVisible(true); } }
输出
现在,点击它生成一个新的对话框。由于它不是无模式,因此你不能同时关闭两个对话框。你必须先关闭新的对话框,然后你才能关闭第一个对话框:
广告