0

我知道要最小化 jframe,我需要使用 setExtendedState(JFrame.ICONIFIED);
但我想弄清楚的是如何到达框架。此对话框是父对话框的子对话框。这里是构造函数。

    public EdiBaseDialog(EdiDialogHandler edh, Frame parent, TCSession theSession) {
      super(parent, false);
      session = theSession;
      createDialog();
   } 

因此,当我尝试setExtendedState(JFrame.ICONIFIED)在我的 jbutton actionPerformed 中添加命令时。这是在 JPanel 方法中。

我不知道如何解决框架。

??.setState(JFrame.ICONFIED);
4

2 回答 2

2

Dialog.getOwner()从对话框中调用。

于 2012-08-07T14:40:35.270 回答
1

您需要做的是在组件层次结构中上升,直到到达 Frame。Swing 中已经有辅助方法来执行此操作。试试 SwingUtilties:

SwingUtilities.getAncestorOfClass(JFrame.class, this);

(其中“this”可以是层次结构中的任何组件)当然,这只有在您的对话框形成适当的层次结构时才有用(没有使用 NULL 所有者的对话框。如果是这种情况,您必须通过 Frame 传递一些方法或构造函数。

于 2012-08-07T15:19:56.057 回答