看下面这段代码,为什么监听器添加不成功~

来源:百度知道 编辑:UC知道 时间:2024/06/18 09:33:20
这是一个测试代码,在按下确定键之后,希望在控制台打印出OK字样,但我这样已经把监听器都添加进去了,为什么没有任何反应,请各位大虾看看~

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

class test extends JFrame {

JButton Ok = new JButton();

public test() {
try {
build();

}
catch(Exception e) {
e.printStackTrace();
}
}
private void build() throws Exception {

Ok.setBounds(new Rectangle(119, 114, 104, 28));
Ok.setText("确定");
Ok.addMouseListener(new aaa(this));

this.getContentPane().add(Ok);

}

public static void main(String[] args) {
test onoG = new test();
onoG.setVisible(true);
onoG.setSize(400,200);
}

}

class aaa extends MouseAdapter {
test test1;

aaa(test test1) {
this.test1 = test1;

}

void check(Mous

既然你重写了MouseAdapter类的话,你就得重写其中的mouseChlicked()方法,因为MouseAdapter类的默认mouseChlicked()方法是没有任何功能的,
修改如下
public void mouseChilcked(MouseEvent e)
{
System.out.println("OK");
}

另外一种方法是让test实现ActionEvent接口,然后向按钮添加动作监听事件
//Ok.addMouseListener(new aaa(this));
Ok.addActionListener(this);
public actionPerformed(ActionEvent e)

if(e.getsource()==Ok)
System.out.println("Ok");
}

方法不对。你就没实现mouseadapter的任何方法怎么可能会有相应呢,

把check()方法改为
public void mouseClicked(MouseEvent e) 就可以了