2013-11-23 63 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。 –