1 回答
TA贡献1804条经验 获得超7个赞
诀窍是您不对对象执行setLocation()或setBounds()操作JInternalFrame。这将移动窗格,当您“图标化”内部框架时,窗格不再可见。但是当你“图标化”内部框架时,你改变了现在Icon可见的。要获取图标,请使用类上的方法。之后是对接收到的对象的简单调用。你可以像这样使用它:getDesktopIcon()JInternalFramesetLocation()JInternalFrame.JDesktopIcon
frame.addInternalFrameListener(new InternalFrameAdapter() {
@Override
public void internalFrameIconified(InternalFrameEvent e) {
frame.getDesktopIcon().setLocation(frame.getLocation().x, frame.getLocation().y);
}
});
显然,您必须为自己计算正确的位置,即您希望放置图标的位置。此示例仅显示如何将图标移动到正确的位置,因此它不会在左下角打开。
您可能想为相反的事件添加一个类似的事件处理程序,以打开图标所在internalFrameDeiconified的原始面板,而不是面板在“图标化”之前所在的位置。JInternalFrame
添加回答
举报
