java - 无法解析类型 javax.swing.JComponent

标签 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 很陌生,如果能得到一些帮助,我将不胜感激。谢谢

最佳答案

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

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

我不确定 Swing 组件是否已被贬值(并被删除),但这就是我对为什么事情停止工作的猜测。

关于java - 无法解析类型 javax.swing.JComponent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30220818/

相关文章:

java - tOracleOutput 组件中的 Talend ETL 作业错误

java - EventQueue.invokeLater() 有一些错误

java - 在 JPanel 中显示 JDesktopPane

java - (Java) 在运行时更改 swing 组件的文本(资源包)

java - 带有 java acm 的凯撒密码

Java使用for循环产生一系列数字

Java如何循环运行程序并保持计数

java - JTable:从右到左对齐组件

java - 具有 onclick 帮助的 Recyclerview

java - 枚举中的枚举