2014-03-30 26 views
0

我使用了NteBeans的GUI製作工具。 它創建了一個框架。 我想用一個按鈕關閉這個框架。 我知道我需要使用「my_frame_name.dispose();」關閉一個框架。 但問題是我不能在「源」標籤中找到框架的名稱。 我認爲這是因爲,NetBeans自動創建了此框架及其代碼。如何關閉自動創建的java框架

任何人都可以告訴我如何使用代碼或函數關閉此框架嗎?

請不要告訴我我必須重新編碼一切,因爲我有像tis之類的多幀,沒有時間的奢侈。

+0

您是否有任何代碼來顯示框架如何打開或任何可以幫助我們找到此框架命名的代碼? – Stewartside

回答

0

你可以嘗試這一個也

這裏程序使用container.getParent()方法來找出最頂端JFrame

public static void main(String[] a) { 
    JFrame frame = new JFrame(); 

    JPanel p = new JPanel(); 
    final JButton btn = new JButton("close"); 
    btn.addActionListener(new ActionListener() { 

     @Override 
     public void actionPerformed(ActionEvent e) { 
      Container parent = btn; 
      while ((parent = parent.getParent()) != null) { 
       System.out.println(parent.getClass().getName()); 
       if (parent instanceof JFrame) { 
        ((JFrame) parent).setVisible(false); 
       } else { 
        parent = parent.getParent(); 
       } 
      } 
     } 
    }); 
    p.add(btn); 

    frame.getContentPane().add(p); 

    frame.pack(); 
    frame.setVisible(true); 
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
}