我用JBX,做了些JAVA GUI 应用程序,但是,无论是在JBX环境中,还是在JDK的命令行下运行时,总是不能通过窗口的关闭按钮关闭它,一定要在JBX的工程运行按钮上才能关闭.在JDK的命令行下,只能按CTRL+C;要加什么代码呢?

解决方案 »

  1.   

    JFrame 类中可以使用 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
      

  2.   

    比如简单的:
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;public class CheckBoxTest extends JFrame {
    private JTextField field;
    private JCheckBox bold,italic;

    public CheckBoxTest(){

    super("JCheckBox Test");

    Container container = getContentPane();
    container.setLayout(new FlowLayout());

    field = new JTextField("Watch the font Style change ",20);
    field.setFont(new Font("Serif",Font.PLAIN,14));
    field.setForeground(new Color(255,0,0));

    bold = new JCheckBox("Bold");
    italic = new JCheckBox("Italic");

    container.add(field);
    container.add(bold);
    container.add(italic);

    CheckBoxHandler handler = new CheckBoxHandler();
    bold.addItemListener(handler);
    italic.addItemListener(handler);

    setSize(275,100);
    setVisible(true);
    }

    public static void main(String[] args){

    CheckBoxTest application = new CheckBoxTest();
    application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

    private class CheckBoxHandler implements ItemListener {
    private int iBold = Font.PLAIN;
    private int iItalic = Font.PLAIN;

    public void itemStateChanged(ItemEvent event){

    if(event.getSource() == bold)
    {
    iBold = bold.isSelected() ? Font.BOLD : Font.PLAIN;
    }
    if(event.getSource() == italic )
    {
    iItalic = italic.isSelected() ? Font.ITALIC : Font.PLAIN;
    }

    field.setFont(new Font("Serif",iBold + iItalic,14));
    }
    }
    }
      

  3.   

    感谢啊,不过我刚学AWT, 想知道AWT的关闭方法啊..
    等待中...
      

  4.   

    import java.awt.*;
    import java.awt.HeadlessException;
    import java.awt.event.*;/**
     * <p>Title: </p>
     * @author dragon
     * @version 1.0
     */public class TestFrame
        extends Frame {
      public TestFrame() throws HeadlessException {
        addWindowListener(new WindowAdapter() {
          public void windowClosing(WindowEvent e) {
            System.exit(0);
          }
        });
        this.setSize(new Dimension(400, 300));
        this.show();
      }  public static void main(String[] args) throws HeadlessException {
        TestFrame testFrame1 = new TestFrame();
      }}AWT的一个例子,希望对你有帮助
      

  5.   

    下面的函数调用,有点不理解:
    addWindowListener(new WindowAdapter() {
          public void windowClosing(WindowEvent e) {
            System.exit(0);
          }
        });
    ?
      

  6.   

    在你需要关闭的地方加上System.exit(0);
      

  7.   

    addWindowListener(new WindowAdapter() {
          public void windowClosing(WindowEvent e) {
            System.exit(0);
          }
        });----------------------------------
    是个内部匿名类,相当于
    addWindowListener(listener);LIStener listener=new LIStener();class LIStener extends WindowAdapter() {
          public void windowClosing(WindowEvent e) {
            System.exit(0);
          }
    });