几个监听器事件:ActionListener, MouseListener, MouseMotionListener。
ActionListener,就是需要按钮或者是什么东西被按下之后触发的行为,如果用的是键盘的enter按下的,也可以用。这跟mouseListener就有所区别。后者只是需要用鼠标点击或者鼠标箭头进入某个区域,进入某个按钮后触发的事件。而mousemotionlistener则是鼠标拖动或者移动鼠标箭头后触发的事件。三者相对应的方法也有所不同。
ActionListener:它是在对象被按下后所执行的操作,如打开一张图片,更改界面,跳出第二个界面等等。
ActionListener actionListener=new ActionListener() {
public void actionPerformed(ActionEvent e) {
String cmd=e.getActionCommand();//得到事件源上面的文字
if(cmd.equals("start")){}
}
};
MouseListener:它的方法较多,有鼠标释放,鼠标按下,鼠标进入,鼠标离开,鼠标单击。
用e.getSource得到相对应的对象,然后再将其强制转型,如转成按钮,或者标签。当触发时,相对应的对象就执行事件,如改变按钮上的文字,图片等等。它一般针对的是对象,
MouseListener ml=new MouseListener() {
public void mouseReleased(MouseEvent e) {
Object object=e.getSource();
}
public void mousePressed(MouseEvent e) {
}
public void mouseExited(MouseEvent e) {
}
public void mouseEntered(MouseEvent e) {
}
public void mouseClicked(MouseEvent e) {
}
};
MouseMotionListener:鼠标箭头移动或者鼠标拖动执行的操作。鼠标拖动用在画板上较为常见,如画一条曲线的时候,需要用到鼠标拖动,每次拖动得到点的坐标,然后将该坐标与前面的点的坐标画一条很短的直线。多了之后就变成了一条曲线。
MouseMotionListener mml=new MouseMotionListener() {
public void mouseMoved(MouseEvent e) {
e.getX();
}
public void mouseDragged(MouseEvent e) {
}
};
三者都有getSource方法,得到的都是Object对象.然后根据需要再强制转型。
补上键盘监听动作:
keyListener()
KeyListener key=new KeyListener() {
public void keyTyped(KeyEvent e) {
}
public void keyReleased(KeyEvent e) {
}
public void keyPressed(KeyEvent e) {
int keynode=e.getKeyCode();
System.out.println(keynode);
if(keynode==e.VK_LEFT)
left=true;
if(keynode==e.VK_RIGHT)
right=true;
if(keynode==e.VK_UP)
up=true;
if(keynode==e.VK_DOWN)
down=true;
if(keynode==e.VK_SPACE)
{
// System.out.println("按下空格");
}
}
};
上下左右键的按键监听如图。1是49 .A是65.空格是32. 依次类推。
== 和.equals()的区别:
==在基本类型里,用于2个值相等。如果是对象的话,就表示是同一个对象。判断值是否相等
.equals()一般用在判断字符串是否相等。