【问题标题】:gaining a focus of JInternalFrame object获得 JInternalFrame 对象的焦点
【发布时间】:2012-08-16 13:58:46
【问题描述】:
当您使用位于角落的内置图标(在最大化和关闭图标旁边)最小化 JInternalFrame 对象时会发生什么?
我在 JDesktopPane 中有一个 JInternalFrame,我的问题如下:
当我最小化一帧时,它正在被最小化。当我尝试通过使用 JMenu 重新打开框架时,它第一次起作用。当我再次执行此过程时,框架正在最小化但没有重新打开,但是当我手动单击图标化框架时,它会正确显示。
我尝试组合 setSelected、moveToFront、setIcon、setVisible、activateFrame 或 requestFocus,但仍然没有效果。
我想知道当你最小化 JInternalFrame 时会发生什么,正在设置什么,应该怎么做才能获得特定框架的焦点,以及为什么它第一次工作而不是其他工作的过程?
谢谢
【问题讨论】:
标签:
java
swing
focus
jinternalframe
【解决方案1】:
对我来说似乎很好用
try {
if (myFrame.isIcon()) {
myFrame.setIcon(false);
miDoShowHide.setText("Hide");
} else {
myFrame.setIcon(true);
miDoShowHide.setText("Show");
}
} catch (Exception exp) {
exp.printStackTrace();
}
我设置了一个菜单项来调用这个功能。我通过使用菜单来测试 min, restore, min, restore。我通过框架控件最小化框架并通过菜单恢复,通过菜单最小化并通过框架控件恢复。
还要确保将JInternalFrame 设置为Iconifiable (setIconifiable(true)) 否则您会遇到一些奇怪的结果