类型无法解决

时间:2013-01-24 20:36:42

标签: java

继承我的代码:

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


public class FirstGui extends JFrame {
    private JLabel label;
    private JButton button;

    public FirstGui() {

        setLayout(new FlowLayout());

        button = new JButton("Click for sex");
        add(button);

        label = new JLabel("");
        add(label);

        event e = new event();
        button.addActionListener(e);
    }

    public class event implements ActionListener {

        public void actionPerformed(ActionEvent e) {

            label.setText("how you can see wors here");

        }
    }

    public static void main(String [] args) {
        FirstGui gui = new FirstGui();

        gui.setDefaultCloseOperation(EXIT_ON_CLOSE);
        gui.setSize(200, 200);
        gui.setTitle("Title");
        gui.setVisible(true);

    }   

}

它会产生错误:

ActionEvent无法解析为类型FirstGui.java / Test / src第26行Java问题

ActionListener无法解析为类型FirstGui.java / Test / src第24行Java问题

AbstractButton类型中的方法addActionListener(ActionListener)不适用于参数(FirstGui.event)FirstGui.java / Test / src第21行Java问题

它出了什么问题?我是java新手。

3 个答案:

答案 0 :(得分:4)

导入以下内容:

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

答案 1 :(得分:0)

ActionEventActionListener位于java.awt.event包中。

导入java.awt.*是不够的。

答案 2 :(得分:0)

这两个类都要求您导入它们。您可以通过导入java.awt.event:

中的所有内容来实现
import java.awt.event.*;

或者您可能只想具体导入您正在使用的内容:

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

请记住,导入单个类(后一个选项)而不是导入整个包是一种良好的做法。

如果您再次遇到这种问题,那么查看The Docs for any Java Class会告诉您需要导入的确切内容,并使用如下图所示的小图:

java.lang.Object
   java.util.EventObject
      java.awt.AWTEvent
          java.awt.event.ActionEvent