JFrame 始终在顶部而不在主框架上进行操作
JFrame Always on Top With Not Action on Main Frame
我有一个主要的 JFrame
,目的是 link 到另一个 JFrame
,
假设主框架是 M
,子框架是 C
,当我点击 M
时,JFrame
C
成功打开,我在这里添加了 setAlwaysOnTop(true)
方法 C
JFrame
。很好,一切正常。
但是当我的 C
JFrame 位于顶部时,我不希望我的 M
JFrame
操作起作用,除非 C
JFrame 关闭。
这似乎是一个有点尴尬和愚蠢的问题。但请回答
根据你的描述,我觉得你想要一个模态对话框。
您的 C
基本上是一个 JDialog,您可以将其设置为 Dialog.ModalityType.APPLICATION_MODAL
:
JFrame m = new JFrame(...);
JDialog c = new JDialog(m, "", Dialog.ModalityType.APPLICATION_MODAL );
在此处阅读有关模态对话框的更多信息:
- https://docs.oracle.com/javase/tutorial/uiswing/misc/modality.html
- How to make a JFrame Modal in Swing java
我有一个主要的 JFrame
,目的是 link 到另一个 JFrame
,
假设主框架是 M
,子框架是 C
,当我点击 M
时,JFrame
C
成功打开,我在这里添加了 setAlwaysOnTop(true)
方法 C
JFrame
。很好,一切正常。
但是当我的 C
JFrame 位于顶部时,我不希望我的 M
JFrame
操作起作用,除非 C
JFrame 关闭。
这似乎是一个有点尴尬和愚蠢的问题。但请回答
根据你的描述,我觉得你想要一个模态对话框。
您的 C
基本上是一个 JDialog,您可以将其设置为 Dialog.ModalityType.APPLICATION_MODAL
:
JFrame m = new JFrame(...);
JDialog c = new JDialog(m, "", Dialog.ModalityType.APPLICATION_MODAL );
在此处阅读有关模态对话框的更多信息:
- https://docs.oracle.com/javase/tutorial/uiswing/misc/modality.html
- How to make a JFrame Modal in Swing java