2013-11-23 64 views
0

點擊運行按鈕後,界面會提示。 我創建的「按我....」按鈕正在工作,但右上角的CLOSE按鈕不起作用。 關閉的唯一方法是點擊控制檯區域的STOP ICON,這讓我感到很麻煩。 如何使用關閉按鈕? 我缺少任何代碼?還是我做錯了?激活CLOSE按鈕

import java.awt.BorderLayout; 
import java.awt.Button; 
import java.awt.Frame; 

public class TestButton1 { 
    private Frame F; 
    private Button B; 

    public TestButton1() { 
     F = new Frame("Welcome!"); 
     B = new Button(
       "Press Me! \nSo that, you can genarate OUTPUT result at the CONSOLE"); 
     B.setActionCommand("ButtonPressed"); 
    } 

    public void launchFrame() { 
     B.addActionListener(new mainclass()); 
     F.add(B, BorderLayout.CENTER); 
     F.pack(); 
     F.setVisible(true); 
    } 

    public static void main(String[] args) { 
     TestButton1 guiApp = new TestButton1(); 
     guiApp.launchFrame(); 
    } 
} 
+0

什麼是你的示例代碼mainclass? –

+0

@ peter.petrov被稱爲Bmi計算器,但它不會影響它。 5幀的目的僅僅是顯示界面,並點擊按鈕在控制檯顯示結果。 – user3022819

回答

0

你可能之前

F.add(B, BorderLayout.CENTER); 
+0

通常,在關閉框架之前,如果要執行特殊處理,只能使用WindowListener。 – camickr

+0

僅供參考 - 如果OP將'setDefaultCloseOperation'設置爲'DO_NOTHING_ON_CLOSE',這可能不起作用 – MadProgrammer

+0

顯然,它起作用。大感謝@ peter.petrov – user3022819

1

當您創建幀添加以下代碼

F.addWindowListener(new WindowAdapter() { 
    public void windowClosing(WindowEvent we){ 
     System.exit(0); 
    } 
}); 

你應該使用:

JFrame frame = new JFrame(...); 
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); // or exit on close 
+0

問題是關於框架,而不是關於JFrame。 –