1、java中即使用Frame的close按钮,也只是将窗口隐藏。
2、你如果只是想隐藏窗口,可以在按钮中调用隐藏窗口的方法。
3、你如果想关闭程序,直接调用关闭程序的方法。
4、你上面的程序就没有实现按钮的事件(写在其他地方了?),如何有功能?

解决方案 »

  1.   

    增加一段专门处理窗口关闭的代码,可以在网上查找
    具体点就是类中要扩展windowAdapter
    然后实现public void windowClosing(WindowEvent e)方法,在这个方法中调用e.dispose();方法关闭窗体。
      

  2.   

    添加事件,然后执行System.exit(0);
      

  3.   

    为你的frame加个监听器看看:
    frObj.addWindowListener(new 
          WindowAdapter()
          {
            public void windowCloseing(WindowEvent e)
            {
                System.exit(0);
            }
          });
      

  4.   

    还是不行啊,全部代码如下
    import java.awt.*;
    import java.awt.event.*;
    public class dd{
      public static void main(String args[]){
      Frame frObj=new Frame("Component Test!");
      Button butObj1=new Button("OK");
      Button butObj2=new Button("SS");  
      frObj.add("North",butObj1);
      frObj.add("South",butObj2);
      frObj.addWindowListener(new 
      WindowAdapter()
          {
            public void windowCloseing(WindowEvent e)
            {
                System.exit(0);
            }
          });  frObj.pack();
      frObj.show();
      }
    }
    请达人修改
    谢谢了
      

  5.   

    把windowCloseing改为windowClosing,即可
      

  6.   

    Action s = new AbstractAction("exit")
               {
                   public void actionPerformed(ActionEvent event)
                      {
                          System.exit(0);
                      }
               };
              d.addActionListener(s);  
    试试这样行不行,应该没有问题。我看不明白你的哪个按钮是退出关闭窗口。就换成d吧,你改一下就行了。
      

  7.   

    要用 ActionListener !import java.awt.*;
    import java.awt.event.*;public class dd {
        
        public static void main(String args[]){
            
            Frame frObj=new Frame("Component Test!");
            Button butObj1=new Button("OK");
            Button butObj2=new Button("SS");  
            frObj.add("North",butObj1);
            frObj.add("South",butObj2);
            
            butObj1.addActionListener(new ActionListener(){
                public void actionPerformed(ActionEvent e){
                    System.exit(0);
                }
            });      frObj.pack();
          frObj.show();
        }
    }
      

  8.   

    同意 wocongdongfanglai(明月刀客)!
    方法名打错了
      

  9.   

    在构造函数里加入监听器应该可以啊,代码如下:public dd() 
    {
    addWindowListener(new WindowAdapter() 
    {
    public void windowClosing(WindowEvent e)
     {
    dispose();
    System.exit(0);
    }
    });
    }
      

  10.   

    C:\j2sdk1.4.1_01\bin>java -classpath . dd
    Exception in thread "main" java.lang.NoClassDefFoundError: dd (wrong name: DBCon
    /dd)
            at java.lang.ClassLoader.defineClass0(Native Method)
            at java.lang.ClassLoader.defineClass(ClassLoader.java:502)
            at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:12
    3)
            at java.net.URLClassLoader.defineClass(URLClassLoader.java:250)
            at java.net.URLClassLoader.access$100(URLClassLoader.java:54)
            at java.net.URLClassLoader$1.run(URLClassLoader.java:193)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(URLClassLoader.java:186)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
            at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:265)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:255)
            at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:315)
    这是什么意思?