有人能在我的代码中告诉我错误吗?

时间:2014-10-29 15:07:23

标签: events event-handling mouseevent mouselistener

我试图在点击按钮时捕捉事件。我成功创建了按钮,但我无法捕获事件。有人可以帮助我找到我的错误。 所以,基本上我们已经创建了要点击的按钮,但我们无法用按钮捕获事件。我们在使用MouseEventListener类注册我们的类(EventDemo)时遇到了问题。请帮我们解决这个问题。任何指导对我们都有益。

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
    class EventDemo 
    {
    Frame f;
    JButton b;
    Button b1;
    JTextField jt;
    EventDemo(String s)
    {
    f=new Frame(s);
    jt=new JTextField();
    jt.setBounds(150,40,100,100);
    b=new JButton();
    b1=new Button("AWT:(");
    b.setBounds(40,40,100,100);
    b1.setBounds(40,150,50,50);
    f.add(b);
    f.add(b1);
    f.add(jt);
    System.out.println(this);
    f.addMouseEventListener(new MouseEventListener(this));
//Error:EventDemo.java:23 error: cannot find symbol
//f.addMouseEventListener(new MouseEventListener(this));


    f.setLayout(null);
    //f.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    f.setSize(404,404);
    f.setVisible(true);
    }

    class MouseEventListener extends MouseAdapter
    {
    EventDemo t;
    MouseEventListener(EventDemo t)
    {
    this.t=t;
    }
    public void mouseClicked(MouseEvent e1)
    {
    t.jt.setText("mouse");
    t.f.setBackground(Color.RED);
    }
    }

    public static void main(String... s)
    {
    new EventDemo("Swing Frame");//new object of EventDemo
    }
    }

1 个答案:

答案 0 :(得分:0)

只需替换声明

f.addMouseEventListener(new MouseEventListener(this));

f.addMouseListener(new MouseEventListener(this));