mouseClicked与mousePressed的区别

来源:百度知道 编辑:UC知道 时间:2024/06/22 15:04:22
顺便问一下,如何获得鼠标点击的那个按钮的值

譬如
定义:
JButton []btn=new JButton[20];

block[n].addMouseListener(new MouseListener(){

@Override
public void mouseClicked(MouseEvent e) {
// TODO Auto-generated method stub

}

@Override
public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub

}

@Override
public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub

}

@Override
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub
}

@Override
public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub

}

});

请问怎么通过点击鼠标获得n

鼠标按下但还没有释放,就会执行pressed。按下并且释放后才会执行click。。所以按下又释放后。会执行这两个。但pressed先执行。

mouseClicked:点击鼠标响应事件
mousePressed:鼠标按下时响应事件

class Test {

public static int SearchButtonIndex(Object[] buttons, Object button) {
if (buttons.length == 0 || buttons == null) {
return -1;
}
for (int i = 0; i < buttons.length; i++) {
if (buttons[i].equals(button)) {
return i;
}
}
return -1;
}

public static void main(String[] args) {
JFrame frame = new JFrame();
final JButton[] buttons = new JButton[20];
frame.setLayout(new GridLayout(4, 5));
for (int i = 0; i < 20; i++) {
buttons[i] = new JButton(i + "");
buttons[i].addMouseListener(new MouseListener() {

public void mouseClicked(MouseEvent e) {