我知道要最小化jframe,我需要使用setExtendedState(JFrame.ICONIFIED);
但我想弄清楚的是如何到达框架。此对话框是父对话框的子对话框。这是构造函数。
public EdiBaseDialog(EdiDialogHandler edh, Frame parent, TCSession theSession) {
super(parent, false);
session = theSession;
createDialog();
}
所以当我尝试在我的jbutton actionPerformed中添加setExtendedState(JFrame.ICONIFIED)
命令时。这是在JPanel方法中。
我不知道如何解决这个问题。
??.setState(JFrame.ICONFIED);
答案 0 :(得分:2)
在对话框中调用Dialog.getOwner()
。
答案 1 :(得分:1)
您需要做的是进入组件层次结构,直到到达框架。 Swing中已有辅助方法来执行此操作。试试SwingUtilties:
SwingUtilities.getAncestorOfClass(JFrame.class,this);
('this'可以是层次结构中的任何组件) 当然,只有当你的对话框形成一个正确的层次结构时才会使用它(没有使用NULL所有者的对话框。如果是这种情况,你必须通过一些方法或构造函数传递Frame。