从 JPanel 隐藏 JInternalFrame
Hide JInternalFrame from JPanel
我正在构建一个 JPanel 并将其提供给 JInternalFrame。现在我希望如果有人单击 JInternalFrame 的 X
按钮,它就会被隐藏,而不是关闭。问题是我必须在 JPanel 中实现此功能,但我无权访问 JInternalFrame。
这可能吗?
我从 JInternalFrame 知道它可以用 setDefaultCloseOperation(HIDE_ON_CLOSE);
实现,但我不知道如何从 JPanel 实现。当然,我在 SO 中进行了搜索,但没有找到适合我的情况。
另一个问题,只是为了理解:单击 X
按钮时发生了什么? dispose()
函数被调用了吗?我是 Java Swing 的新手,对它的工作原理很感兴趣。
but I don't know how to do it from the JPanel
您可以使用 SwingUtilities
class 来查找父容器。
类似于:
JInternalFrame frame = (JInternalFrame)SwingUtilities.ancestorOfClass(JInternalFrame.class, thePanel);
我正在构建一个 JPanel 并将其提供给 JInternalFrame。现在我希望如果有人单击 JInternalFrame 的 X
按钮,它就会被隐藏,而不是关闭。问题是我必须在 JPanel 中实现此功能,但我无权访问 JInternalFrame。
这可能吗?
我从 JInternalFrame 知道它可以用 setDefaultCloseOperation(HIDE_ON_CLOSE);
实现,但我不知道如何从 JPanel 实现。当然,我在 SO 中进行了搜索,但没有找到适合我的情况。
另一个问题,只是为了理解:单击 X
按钮时发生了什么? dispose()
函数被调用了吗?我是 Java Swing 的新手,对它的工作原理很感兴趣。
but I don't know how to do it from the JPanel
您可以使用 SwingUtilities
class 来查找父容器。
类似于:
JInternalFrame frame = (JInternalFrame)SwingUtilities.ancestorOfClass(JInternalFrame.class, thePanel);