带有最大化按钮的 Java 模态窗口

2022-01-17 00:00:00 modal-dialog java

如何创建一个模态窗口并具有最大化按钮?
那么是否可以创建一个模态 JFrame 或创建一个带有最大化按钮的 JDialog ?

How could I create a window which is modal and has a maximize button?
So is it possible to create a modal JFrame or create a JDialog with maximize button?

推荐答案

在大多数外观和感觉上,模态窗口(例如 JDialog)没有最大化按钮只是因为它们不应该完全最大化(或最小化).

On most look and feels, modal windows (such as JDialog) do not have a maximise button simply because they're not supposed to be maximised (or minimised) at all.

通过一些技巧可以添加 maximise 按钮,但这完全违背了 JDialog 的工作方式.如果您需要最大化按钮,最好的解决方案是使用 JWindowJFrame 而不是 JDialog.这些窗口支持最大化和最小化.

It's possible with some tricks to add a maximise button, but it would be completly against the way JDialog is supposed to work. If you need a maximise button, the best solution would be using a JWindow or a JFrame instead of a JDialog. Those windows support maximisation and minimisation.

警告:无论如何你都不应该这样做.

WARNING: You shouldn't do that, no matter what.

JDialog 中执行此操作的技巧:

A trick to do this in JDialog:

setUndecorated(true);
getRootPane().setWindowDecorationStyle(JRootPane.FRAME);

相关文章