【发布时间】:2018-08-11 20:20:38
【问题描述】:
我的自定义类:
public class IntegerField extends TextField {
public IntegerField() {
super();
restrictToNumbersOnly();
}
public IntegerField(String text) {
super(text);
restrictToNumbersOnly();
}
public void restrictToNumbersOnly() {
// Irrelevant
}
}
然后我尝试像这样添加这个自定义类:
<IntegerField fx:id="example" />
IntelliJ 的 Scene Builder 输出此错误:
java.lang.UnsupportedClassVersionError: path/IntegerField has been compiled by a more recent version of the Java Runtime (class file version 53.0), this version of the Java Runtime only recognizes class file versions up to 52.0
我已尝试搜索此错误,但没有找到任何解释为什么这不起作用。我发现的示例表明应该可以从控件类扩展,并将其直接导入 fxml 文件,并且确实如此。它在运行程序时完美运行,问题在于场景构建器。
我意识到这是 Java 版本问题,但整个项目设置为 Java 9 (53),我尝试更改版本无济于事。
【问题讨论】:
-
如果您将 IDE 切换为在 1.9 JDK 下运行是否有帮助(请参阅 intellij-support.jetbrains.com/hc/en-us/articles/206544879 )?确保使用来自jetbrains.com/idea/download的最新版本
标签: java intellij-idea javafx scenebuilder