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

1

フレームに到達するまで、コンポーネント階層を上に移動する必要があります。Swing には、これを行うためのヘルパー メソッドが既に用意されています。SwingUtilties を試してください:

SwingUtilities.getAncestorOfClass(JFrame.class, this);

(「これ」は階層内の任意のコンポーネントにすることができます) もちろん、これは、ダイアログが適切な階層を形成している場合にのみ使用されます (NULL 所有者を使用するダイアログはありません。その場合は、フレームを介して渡す必要があります)。メソッドまたはコンストラクター。

于 2012-08-07T15:19:56.057 に答える