无法解析类型javax.swing.JComponent

时间:2015-05-13 16:47:05

标签: java swing acm-java-libraries

我正在使用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很新,我会非常感激。谢谢

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题。我的代码工作正常,直到(我认为)我允许Java更新从7u25到8u51。这也可能是你的问题。

尝试卸载较新版本的Java并重新安装旧版本。比如7u25。

我不确定是否已经取消了(并且放弃了)摇摆能力,但这可能是我为什么停止工作的猜测。