看下面这段代码,为什么监听器添加不成功~
来源:百度知道 编辑:UC知道 时间:2024/09/20 22:52:53
这是一个测试代码,在按下确定键之后,希望在控制台打印出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
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) 就可以了