【问题标题】:Unable to add a JButton to a JFrame无法将 JButton 添加到 JFrame
【发布时间】:2015-11-08 05:13:14
【问题描述】:

我正在关注这个 YouTube 教程 (https://www.youtube.com/watch?v=DFQzFJqOSbA&index=83&list=PLFE2CE09D83EE3E28),但我得到了带有红色下划线的 add(lb) 并出现此错误:

Container类型中的add(Component)方法不适用于参数(JButton)

我很困惑,因为 JButton 根据这个 http://docs.oracle.com/javase/7/docs/api/javax/swing/JButton.html 扩展了 Container,这不意味着它是一个有效的参数吗?

我觉得我忽略了一些愚蠢的错误,不胜感激。

import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;

public class Layout extends JFrame {
    private JButton lb;
    private JButton cb;
    private JButton rb;
    private FlowLayout layout;
    private Container container;

    public Layout() {
        super("title");
        layout = new FlowLayout();
        container = getContentPane();
        setLayout(layout);

        lb = new JButton("left");
        add(lb);
    }
}

当我将鼠标悬停在 lb = new JButton("left") 上时,弹出窗口会这样说...

Open Declaration javax.swing.JButton.JButton(String arg0)
@ConstructorProperties(value={"text"})

注意:该元素既没有附加源代码也没有附加 Javadoc,因此找不到 Javadoc。

编辑

我的导入行也有一个错误,上面写着

The type javax.swing.JComponent cannot be resolved. 
It is indirectly referenced from required .class files

这是我项目的截图

【问题讨论】:

  • 1) 请显示完整的错误消息——包括有问题的类的包完整名称。 2) 在同一个包中是否还有另一个名为JButton 的类?
  • 您的代码在我的 IDE 上编译。也许你应该清理/重建你的项目。
  • 你应该检查this question他们提供的答案指向他们的jdk问题
  • 这与您的程序错误无关。您在 Eclipse 中配置的 JRE 有问题。转到 windows/preferences,然后是 java/Installed JRE,删除您正在使用的并再次添加它。
  • 好的,我刚刚更新到 Mars,我的问题已解决。我不知道我是怎么用 Helios 结束的,我很久以前没有安装 Eclipse,我猜我点击了错误的。谢谢你们的帮助。

标签: java swing jframe add


【解决方案1】:

重新安装较新的 eclipse 版本。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-11
    • 1970-01-01
    • 2019-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-21
    相关资源
    最近更新 更多