各位师兄:
大家好。看了JAVA关于事件处理的方式,感觉很晕。
一会又监视器,一会又适配器的。嗨。
我是这样理解的:
声明一个按钮如JButton yes = new JButton("确定");
再声明监视器或适配器如:
class YHandel
extends MouseAdapter {
public void mouseCliceked(MouseEvent e) {
//这里写点击按钮所要做的事
}
}
然后添加这个按钮的监视器:
yes.addMouseListener(new YHandel()) ;
就可以执行点击该按钮要做的事了吗?
我按这样的思想写了程序。编译成功,
可是点击按钮却毫无反应为什么呢?
望师兄们赐教,不胜感激。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
//MouseDemo1.java
public class MouseDemo1 extends WindowAdapter implements MouseListener
{
JFrame f = null;
JButton b1 = null;
JLabel label = null;
public MouseDemo1()
{
f = new JFrame("MouseDemo1");
Container contentPane = f.getContentPane();
contentPane.setLayout(new GridLayout(2,1));
b1 = new JButton("按钮");
label = new JLabel("起始状态,还没鼠标事件",JLabel.CENTER);
b1.addMouseListener(this);
contentPane.add(label);
contentPane.add(b1);
f.pack();
f.show();
f.addWindowListener(this);
}
public void mousePressed(MouseEvent e) {
label.setText("您已经压下鼠标按钮");
}
public void mouseReleased(MouseEvent e) {
label.setText("您已经放开鼠标按钮");
}
public void mouseEntered(MouseEvent e) {
label.setText("鼠标光标进入按钮");
}
public void mouseExited(MouseEvent e) {
label.setText("鼠标光标离开按钮");
}
public void mouseClicked(MouseEvent e) {
label.setText("您已经按下鼠标按钮");
}
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
public static void main(String args[])
{
new MouseDemo1();
}
}