黑马程序员技术交流社区

标题: 帮我看看窗体关闭问题 [打印本页]

作者: GoodBoy123    时间: 2014-6-1 18:26
标题: 帮我看看窗体关闭问题
本帖最后由 GoodBoy123 于 2014-6-2 11:02 编辑

关闭不了。



  1. public class FrameDome {
  2. public static void main(String args []){
  3. Frame f = new Frame("my awt"); //生成一个窗体对象f,并在窗体里加上标题,标题可以在创建后另外再设用setTitle方法
  4. Button b = new Button("这是一个按钮"); //创建一个按钮组件。

  5. f.setTitle("my swing"); //设置标题。
  6. f.setSize(200,200); //设置窗体的大小高为200 像素,宽为200像素。
  7. f.setLocation(200,200); //设置窗体在屏幕上出现的位置。
  8. f.add(b);
  9. f.addWindowListener(new MyListener());
  10. f.setVisible(true); //设置窗体为可见。
  11. }

  12. }
  13. //由于WindowListener的子类WindowAdapter己经实现了这个接口并复写了接口里的七个方法,但是没有写方法体,
  14. //所以我们可以直接继承他的子类WindowAdapter然后复写我们要用到的一个方法即可,
  15. class MyListener extends WindowAdapter{

  16. public void windowclosing(WindowEvent e){
  17. System.exit(0);
  18. }
  19. }
复制代码




作者: GoodBoy123    时间: 2014-6-2 10:09
高手呢,去哪了
作者: Up↑Lee↗    时间: 2014-6-2 10:41
package day1;
import java.awt.Button;
import java.awt.Frame;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

/*public class Test3 {

}*/
public class Test3 {
                public static void main(String args []){
                        Frame f = new Frame("my awt"); //生成一个窗体对象f,并在窗体里加上标题,标题可以在创建后另外再设用setTitle方法
                        Button b = new Button("这是一个按钮"); //创建一个按钮组件。
               
                        f.setTitle("my swing"); //设置标题。
                        f.setSize(200,200); //设置窗体的大小高为200 像素,宽为200像素。
                        f.setLocation(200,200); //设置窗体在屏幕上出现的位置。
                        f.add(b);
                        f.addWindowListener(new MyListener());
                        f.setVisible(true); //设置窗体为可见。
                }

}
        //由于WindowListener的子类WindowAdapter己经实现了这个接口并复写了接口里的七个方法,但是没有写方法体,
        //所以我们可以直接继承他的子类WindowAdapter然后复写我们要用到的一个方法即可,
        class MyListener extends WindowAdapter{
       
                public void windowClosing(WindowEvent e){  --------------------注意windowClosing的书写---
//                        System.out.println("hellooo");
                        System.exit(0);
                        }
        }



[size=-1]void
windowClosing(WindowEvent e)
          窗口正处在关闭过程中时调用。



作者: 李小然    时间: 2014-6-2 10:47
你是需要点击按钮并且关闭窗体吗?

你用f.addWindowListener,接收的触发事件类型是:窗口打开关闭等(已经实现了点击关闭就可以关闭窗体)

如果你需要点击按钮关闭窗体的话,
需要给按钮添加监听对象。

import java.awt.event.*;
import java.awt.*;

public class FrameDome {
        public static void main(String args [])
        {
                Frame f = new Frame("my awt"); //生成一个窗体对象f,并在窗体里加上标题,标题可以在创建后另外再设用setTitle方法
                Button b = new Button("这是一个按钮"); //创建一个按钮组件。

                f.setTitle("my swing"); //设置标题。
                f.setSize(200,200); //设置窗体的大小高为200 像素,宽为200像素。
                f.setLocation(200,200); //设置窗体在屏幕上出现的位置。
                f.add(b);
                f.addWindowListener(new MyListener());
               
                //按钮添加监听器对象
                b.addActionListener(new ExitLinstener());
               
                f.setVisible(true); //设置窗体为可见。
        }

}

class ExitLinstener implements ActionListener
{
        public void actionPerformed(ActionEvent e)
        {
                System.exit(0);
        }
}
//由于WindowListener的子类WindowAdapter己经实现了这个接口并复写了接口里的七个方法,但是没有写方法体,
//所以我们可以直接继承他的子类WindowAdapter然后复写我们要用到的一个方法即可,

class MyListener extends WindowAdapter
{        //拼错了
        public void windowClosing(WindowEvent e)
        {
                System.exit(0);
        }
}



作者: GoodBoy123    时间: 2014-6-2 11:00
李小然 发表于 2014-6-2 10:47
你是需要点击按钮并且关闭窗体吗?

你用f.addWindowListener,接收的触发事件类型是:窗口打开关闭等(已 ...

:handshake:handshake
作者: GoodBoy123    时间: 2014-6-2 11:01
Up↑Lee↗ 发表于 2014-6-2 10:41
package day1;
import java.awt.Button;
import java.awt.Frame;

:handshake:handshake.




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2