java 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);行的情况下运行f.add(l); ,问题不在于找不到JFrame或JLabel。 在摆弄了一点之后,我摆脱了第一个错误,但第二个仍然存在。 组件无法解析,因为它是间接引用的。 那是什么意思?

显然问题不在于代码,因为它适用于其他所有人。 所以我决定删除并重新安装java和eclipse,etvoilà! 现在它有效。 谢谢大家的反馈。

只是猜测,但它符合你描述的问题:

当您自己的包中包含一个名为JLabel的类时,可能会出现此问题。 然后,本地类将从javax.swing -package中隐藏导入的JLabel类,并且它可能与原始类没有相同的类层次结构。

总结一下:将现有的JDK类命名为自己的类通常是一个坏主意。

我遇到了同样的问题,发现我的项目使用的是Java 8库。 我安装了Java 7库,通过从已安装的C:\Program Files\Java文件夹中引用库,将其添加到项目属性中,错误消失了。

看起来,新的Java 8版本可能采用不同的方式来解决swing组件。

我也遇到了这个问题。 不幸的是要解决它我需要安装我的日食。 但我认为问题是Eclipse中JRE和JAVA版本之间不兼容

当我的项目(和我的eclipse indigo)无法升级到JAVA8时,我使用了JRE支持的JAVA8。 更新到另一个可以支持java 8的eclipse可以解决问题。

  1. Eclipse中必须安装(和选择)JDK:

    窗口>首选项> Java>已安装的JRE

  2. 必须将项目配置为使用该JDK:

    项目>属性> Java构建路径>库

  3. 列表中应该有一个类似“JRE系统库[JDK7]”的条目。 如果没有,请按:

    添加库…> JRE系统库

  4. 该项目应该被创建为“Java项目”:

    项目>属性>构建器

    应该包括“Java Builder”

SoCodeIt IDE博士

我是新来的。 我有这个问题,花了我2​​天的研究。 我通过添加一个包含Eclipse所有必需组件的外部JAR文件来解决它。 右键单击项目>> Buildpath >>配置构建路径>>添加外部JARS并浏览计算机上的JAR文件。 JAR文件可以在这里下载http://www.java2s.com/Code/Jar/j/Downloadjsdgstubsjre15jar.htm希望这可以帮助那里的人。

我在eclipse IDE中也遇到了同样的问题,但在将jar文件更改为jre7后(右键单击项目>> Buildpath >>配置构建路径>> AddLibrary >> Jre System Library)错误已解决,我不知道它是如何发生的可以解释一下。

问题不在代码中

这是因为项目的JRE配置错误。 这可能是由于项目的JRE和工作区的Jre之间存在差异。

它可以通过更新Eclipse或Jre来解决……

但在我身边,我建议你这样做..

转到窗口 – >首选项 – > Java – >已安装的JRE —>执行环境 – >选择项目的JRE并勾选完美匹配的已安装JRE

如果您没有匹配的JRE下载,请使用“添加”按钮将其添加到“已安装的JRE”中。

最后,重新启动Eclipse IDE。 这对我来说很好……

如果它不起作用, UPDATE Eclipse ..

在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