我正在使用 ACM 库并自行完成“Java 的艺术与科学”中的练习。我有一个简单的程序,应该在屏幕上添加一个按钮,但我收到了一些我无法自行解决的错误消息。
//The first import results in the error message about javax.swing.JComponent
import acm.program.*;
import java.awt.event.*;
import javax.swing.*;
public class NewFirstButton extends ConsoleProgram {
public void init(){
setFont("Courier-24");
hiButton = new JButton("Hi");
// The line below produces the second error about function args
add(hiButton, SOUTH);
addActionListeners();
}
public void actionPerformed(ActionEvent e){
if (hiButton == e.getSource()){
println("Hello there!");
}
}
private JButton hiButton;
}
第一个问题是错误消息“无法解析类型 javax.swing.JComponent。它是从所需的 .class 文件间接引用的”。
第二个是“Container 类型中的方法 add(String, Component) 不适用于参数 (JButton, String)”。
有人可以帮我解决这些问题吗?我对 JAVA 很陌生,如果能得到一些帮助,我将不胜感激。谢谢
最佳答案
我也遇到了同样的问题。我的代码工作得很好,直到(我认为)我允许 Java 从 7u25 更新到 8u51。这也可能是你的问题。
尝试卸载较新版本的 Java 并重新安装较旧版本。例如7u25。
我不确定 Swing 组件是否已被贬值(并被删除),但这就是我对为什么事情停止工作的猜测。
关于java - 无法解析类型 javax.swing.JComponent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30220818/