IntelliJ拒绝添加自定义组件

时间:2013-01-20 14:28:19

标签: java swing intellij-idea

我的问题如下:假设我们有以下文件:

package p;
import javax.swing.*;
public class test extends JPanel {
  test(){
    super(true);
  }
}

我保存文件并进行编译。现在,在IntelliJ中,我打开一个表单并尝试向其添加test。它不会起作用!我单击“非调色板组件”,单击我的表单,然后在打开的对话框中,键入p.test作为我的班级名称(IntelliJ甚至在此提供名称完成)并选中“自动创建绑定”。单击确定后,没有任何反应。但是 - 如果我把'javax.swing.JButton'作为类名,它就可以了。这太荒谬了。我不明白我做错了什么?测试是否必须实现或覆盖某个功能?我必须修改路径吗?或者我应该把我的电脑从我的窗户踢出来?

3 个答案:

答案 0 :(得分:5)

  

java.lang.UnsupportedClassVersionError:测试:不支持的major.minor版本51.0

问题是您将项目语言级别设置为1.7并使用JDK 1.7来构建它。 IntelliJ IDEA在您的系统上运行在JDK 1.6下,无法加载使用1.7语言级别编译的自定义组件类。

此问题的可能解决方案:

答案 1 :(得分:3)

您是否在运行最新版本的IntelliJ IDEA?您描述的操作在11.1.5和12.0.2(IDEA 11和12的最新版本)中适用于我。早期版本可能存在错误。此外,由于test是'JPanel',您是否在“添加非=调色板组件”上选择“是容器”选项。对于您显示的简单示例,如果未选择此选项,则在“UI Designer”工具窗口中未选择GUI设计器时,我不会在GUI设计器中获得任何可见。但是你提到你甚至都没有在控件层次结构中看到它。

如果您使用的是最新版本,我建议您查看日志(帮助&gt;显示日志)以查看是否存在错误,可能会对此问题有所了解。< / p>

最后,您可以尝试使缓存无效并重新启动。 (文件&gt;无效缓存)。可能存在一些导致问题的腐败。

我会将此作为评论添加到您的问题中,但我没有足够的声誉点来做到这一点。

答案 2 :(得分:0)

确保编译自定义组件,然后单击工具栏上的Reload Custom Components按钮。这解决了我的问题。