如何在Swing java中制作JFrame模态

2022-08-31 14:34:00

我创建了一个使用JFrame的GUI。我应该如何使它成为模态?


答案 1

最好的办法是,如果要使窗口模态化,请使用 JDialog 而不是 JFrame。有关在 Java 6 中引入模态 API 的详细信息,了解相关信息。还有一个教程

下面是一些示例代码,它将在 a 中显示 a,该模式为 。除了构造函数之外,这与打开 .JPanel panelJDialogFrame parentFrameJFrame

final JDialog frame = new JDialog(parentFrame, frameTitle, true);
frame.getContentPane().add(panel);
frame.pack();
frame.setVisible(true);

编辑:更新了模态API链接并添加了教程链接(向@spork点头)。


答案 2

您可以创建一个类,该类传递对父级的引用并将其保存在变量中。然后,您可以锁定创建新框架的框架。JFrameJFrame

parentFrame.disable();

//Some actions

parentFrame.enable();

推荐