我从教程中获取了以下代码:
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/