我正在尝试解决一个任务(练习绑定和属性的使用),我有一个
MysteryClass
,它包含一个方法并检查两个确定的值是否相等。如果是这样,它会创建一个数字绑定并添加我声明和初始化的属性。
但是,在运行这个项目时,出现如下异常:
Exception in thread "main" java.lang.NoClassDefFoundError: javafx/beans/property/IntegerProperty
at Programmieraufgabe_03.Main.main(Main.java:7)
Caused by: java.lang.ClassNotFoundException: javafx.beans.property.IntegerProperty
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
... 1 more
那是我的代码,也许你知道如何修复它:
Main
班级:
package Programmieraufgabe_03;
public class Main {
public static void main(String[] args) {
MysteryClass MysteryObject = new MysteryClass();
MysteryObject.mysteryMethod(2, 0);
}
MysteryClass
:
package Programmieraufgabe_03;
import javafx.beans.property.*;
import javafx.beans.binding.*;
public class MysteryClass {
private IntegerProperty Property1 = new SimpleIntegerProperty();
private IntegerProperty Property2 = new SimpleIntegerProperty();
private NumberBinding nb;
private int result;
//Getters + Setters
public final int getProperty1() {
return this.Property1.get();
}
public final void setProperty1(int value) {
this.Property1.set(value);
}
public IntegerProperty Property1Property() {
return this.Property1;
}
public final int getProperty2() {
return this.Property2.get();
}
public final void setProperty2(int value) {
this.Property2.set(value);
}
public IntegerProperty Property2Property() {
return this.Property2;
}
//Methods
public int mysteryMethod(int value1, int value2) {
if (value1 == value2) {
setProperty1(value1);
setProperty2(value2);
nb = Property1.add(Property2);
return (int) nb.getValue();
}
else return 0;
}
}