1

GUIに、ウィンドウを閉じるためのボタンがあります。ただし、そのイベントハンドラーは、とは別のAbstractActionメソッドにあるサブクラスにありJFrameます。JFrameこのため、を閉じるように指示する方法がわかりませんAbstractAction

これが私のコードの基本的なレイアウトです:

public PointWindow()
  {
    initialize();
  }

  public void initialize()
  {
    JFrame frame = new JFrame();
    // JFrame stuff
    frame.setContentPane(createGUI());
    frame.setVisible(true);
  }

  public JPanel createGUI()
  {
    JPanel gui = new JPanel();

    // Code....

    class MakeGraphACT extends AbstractAction 
    {
      public void actionPerformed(ActionEvent e)
      {
        frame.setVisible(false);  // <--- How to get this to work?
        frame.dispose();          // <---
        new GraphWindow(pointList);
      }
    }

    //Code...

    return gui;
  }

私は自分のコードを計画するのに悪い仕事をしましたか、それとも明らかな何かを見逃しているだけですか?

4

1 に答える 1

2

finalフレームをパラメータとしてcreateGUI()メソッドに渡す必要があります。
その後、内部クラス内からアクセスできるようになります。

于 2012-11-21T01:34:40.307 に答える