我正在使用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很新,我会非常感激。谢谢
答案 0 :(得分:1)
我遇到了同样的问题。我的代码工作正常,直到(我认为)我允许Java更新从7u25到8u51。这也可能是你的问题。
尝试卸载较新版本的Java并重新安装旧版本。比如7u25。
我不确定是否已经取消了(并且放弃了)摇摆能力,但这可能是我为什么停止工作的猜测。