问题描述
可能重复:
如何在 Swing java 中制作 JFrame Modal
我有 2 个 JFrame,一个是主 JFrame,另一个是子 JFrame,当我显示子 JFrame 时,我试图让用户交互无法访问主 JFrame.
I have 2 JFrames one is the main JFrame and the other one is a sub JFrame, and I'm trying to make the main JFrame inaccessible to user interactions when I display the sub JFrame.
推荐答案
如何制作模态JFrame?
How to make a modal JFrame?
不要.使用模态 JDialog——这正是它们的用途.您当然明白 JDialog 可以拥有一个复杂的 GUI,就像 JFrame 拥有的任何 GUI 一样复杂.
Don't. Use a modal JDialog -- that's precisely what they're for. You understand of course that a JDialog can hold a complex GUI, as complex as any held by a JFrame.
我们经常遇到使用诸如 NetBeans 之类的 GUI 构建器来帮助他们创建 GUI 的人发布的此类帖子,并且由于构建器创建了第二个窗口的代码来扩展 JFrame,因此程序员很难返回并将其更改为对话框.解决此问题的方法是尝试将 Swing 代码创建转向创建 JPanel,而不是 JFrame 等顶级窗口.这样,如果需要,您可以在 JFrame 中使用创建的 JPanel,如果需要,可以使用 JDialog,JApplet,甚至另一个 JPanel,只要最适合这种情况.这将极大地提高您代码的灵活性.
We often run into posts like these by folks who use a GUI-builder such as NetBeans to help them create their GUI's, and since the second window's code was created by the builder to extend a JFrame, it's very hard for the programmer to go back and change it to a dialog. The way to fix this is to try to gear your Swing code creation towards creation of JPanels, not top-level windows such as JFrames. This way you could use the created JPanel in a JFrame if desired, a JDialog if desired, a JApplet, or even another JPanel, whatever works best for the situation. This will increase your code's flexibility tremendously.
这篇关于如何制作模态 JFrame?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!