6

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

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

我保存文件并编译它。现在,在 IntelliJ 中,我打开一个表单并尝试添加test。它不会工作!我单击“非调色板组件”,单击我的表单并在打开的对话框中输入p.test我的类名(IntelliJ 甚至在此处提供名称补全)并选中“自动创建绑定”。单击确定后,没有任何反应。但是 - 如果我将“javax.swing.JButton”作为类名,它就可以工作。这太荒谬了。我没有看到我做错了什么?测试是否必须实现或覆盖某个功能?我必须修改路径吗?还是我应该把我的电脑踢出窗外?

4

3 回答 3

6

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

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

此问题的可能解决方案:

于 2013-01-22T09:20:20.707 回答
3

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

如果您使用的是最新版本,我建议您检查日志(Help > Reveal Log)以查看其中是否存在可能对问题有所了解的错误。

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

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

于 2013-01-20T18:10:55.453 回答
0

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

于 2013-03-26T10:10:57.740 回答