java swing组件无法解析

标签 java eclipse swing

我从教程中获取了以下代码:

import javax.swing.*;
import java.util.Date;

public class SwingGUI {

    public static void main( String[] args )
      {
        JFrame f = new JFrame( "test" );
        f.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
        f.setSize( 1500, 900 );
        JLabel l = new JLabel( String.format( "%tT", new Date() ) );
        f.add(l);
        f.setVisible( true );
      }
}

f.add(l); 突出显示并显示两个错误:

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

  • 无法解析类型 javax.swing.JComponent。它是从所需的 .class 文件中间接引用的

作为 java 的新手,我不太明白 Eclipse 试图告诉我什么。我该怎么做才能让它发挥作用?

编辑:代码运行时没有 f.add(l); 行,所以问题不在于找不到 JFrame 或 JLabel。经过一番摆弄后,我摆脱了第一个错误,但第二个错误仍然存​​在。无法解析该组件,因为它是间接引用的。这是什么意思?

最佳答案

在eclipse中将系统库下的执行环境更新为JavaSE-1.7或JavaSE-1.8应该可以解决问题。 可以按照以下步骤更新:

> Right-click on the project
> Select properties
> Java build path
> Library > Add Library > Add JRE SYSTEM Library
> Execution Environment
> Select JavaSE-1.7 or JavaSE-1.8
> Finish

关于java swing组件无法解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28582102/

相关文章:

java - 检测 JTextArea 中的换行

java:在目录和子目录中根据文件名查找文件

c# - 编程语言(Java/C#/C++/Python/…)中不同构造的速度

java - Eclipse 在启动时崩溃(eclipse.exe 已停止工作),任何解决方案?

java - 为什么我的 KeyListener 什么都不做?

java - 尝试使用按钮更改 JTextFields

java - gradle: java: 找不到系统 Java 编译器

java - 将jar转换为exe launch4j后出现JNI错误

eclipse - 如何在 Eclipse 中将文件放在类路径上?

Javac/Eclipse - 如果方法没有抛出它可能抛出的最具体的异常,则会发出警告