程序代码如下:
package com.packageTemp;
import java.awt.event.*;
import javax.swing.*;
import java.awt.*;
public class MouseAdapterTest {
JFrame f=null;
JButton btn=null;
public static void main(String[] args) {
new MouseAdapterTest();
}
//构造函数
public MouseAdapterTest()
{
f=new JFrame("Test");
btn=new JButton("按钮1");
//添加监听事件
btn.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("action ok");
}
});
btn.addMouseListener(new MouseAdapter(){
int count=1;
public void mouseEntered(MouseEvent e){
System.out.println("鼠标进入了按钮区域"+count++);
}
public void mouseExited(MouseEvent e) {
System.out.println("鼠标离开了按钮区域"+count++);
}
});
f.add(btn);
f.setBounds(100, 200, 500, 400);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 此行是重点
f.setVisible(true);
}
}
如代码所示:如果我写上f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); ,则点击右上角的X时,可以关闭窗口,并且程序停止运行。
但是我好奇的是,为什么我没有写窗体监听事件,即WindowListener,为什么点击X,图形化界面依旧可以X掉。
求大神指点