其实在这里,监听器是一个动作处理的大类,有窗体监听器,鼠标监听器等,在这些大类里,我们通过复写不同的方法,对不同的动作进行处理。
/*
* 在此,我们简单的演示一下GUI图形界面,创建窗体,创建按钮,并创建监听器对特征操作进行处理,以匿名内部类的方式
* GUI的操作内容非常多,极其复杂,所以得去查API文档进行具体的操作
* 注意一个问题:在这里的操作一定要严格注意大小写,否则会出现很难发现的错误,而且需要到处寻找错误还找不到
*/
import java.awt.*;
import java.awt.event.*;
public class Window {
public static void main(String[] args)
{
Frame f=new Frame("我的窗体");//创建一个窗体框
f.setSize(500, 400);//设置大小
f.setLocation(300, 100);//设置据边缘的距离
f.setLayout(new FlowLayout());//设置排布的类型
//到此为止,我们没有处理窗体的×事件,所以窗体是关不掉的,所以我们要先定义一个监听器,对其进行操作
f.addWindowListener(new WindowAdapter()//对窗体事件进行处理
{
public void windowClosing(WindowEvent e)//复写方法,窗体关闭时调用,其实还有其他的窗体操作
{
System.exit(0);
}
});
Button b=new Button("按钮");//建立一个按钮
f.add(b);
b.addActionListener(new ActionListener()//对按钮的操作进行操作
{
public void actionPerformed(ActionEvent e) //复写方法
{
System.out.println("活动");
}
}
);
b.addMouseListener(new MouseListener()//对鼠标操作进行处理
{
//在这个部分,有的方法是抽象的,必须全覆盖才可以,下面五个操作,具体是怎样的可以试一下,就明白了
public void mouseEntered(MouseEvent e)
{
System.out.println("鼠标进入按钮区域");
}
public void mousePressed(MouseEvent e)
{
System.out.println("鼠标压入按钮");
}
public void mouseExited(MouseEvent e)
{
System.out.println("鼠标离开按钮区域");
}
public void mouseReleased(MouseEvent e)
{
System.out.println("鼠标释放按钮");
}
public void mouseClicked(MouseEvent e)
{
if(e.getClickCount()==2)
{
System.out.println("鼠标双击");
}
}
}
);
f.setVisible(true);//传参数Boolean类型的变量,选择是否可见
}
}