继承我的代码:
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新手。
答案 0 :(得分:4)
导入以下内容:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
答案 1 :(得分:0)
ActionEvent
和ActionListener
位于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