gpt4 book ai didi

list - 在 JavaFX 中使用 ListProperty

转载 作者:行者123 更新时间:2023-12-04 13:14:01 26 4
gpt4 key购买 nike

我定义了一个包含列表的类。我正在尝试使用传输列表初始化构造函数中的列表:

public class Person {
public IntegerProperty id;
public ListProperty<Priority> choice;

public Person(int id, List<Priority> list) {
this.id = new SimpleIntegerProperty(id);
this.choice = new SimpleListProperty<Priority>();
for (int i = 0; i < 5; i++) {
this.choice.add(list.get(i));
}
}

public IntegerProperty idProperty() { return id; }
public ListProperty<Priority> choiceProperty() { return choice; }
}

类(class) Priority包含两个字段及其 setter/getter :
public IntegerProperty rate;  
public StringProperty speciality;

难道我没有使用 ListProperty适本地?

当我尝试创建对象时:
Exception in Application start method
Exception in thread "main" java.lang.RuntimeException: Exception in Application start method
at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:403)
at com.sun.javafx.application.LauncherImpl.access$000(LauncherImpl.java:47)
at com.sun.javafx.application.LauncherImpl$1.run(LauncherImpl.java:115)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.UnsupportedOperationException
at java.util.AbstractList.add(AbstractList.java:148)
at java.util.AbstractList.add(AbstractList.java:108)
at java.util.AbstractCollection.addAll(AbstractCollection.java:334)
at javafx.beans.binding.ListExpression.addAll(ListExpression.java:280)
at Person.setAllchoice(Person.java:24)
at Person.<init>(Person.java:17)
at Distribution.ReadDataFromFile(Distribution.java:85)
at Distribution.start(Distribution.java:28)
at com.sun.javafx.application.LauncherImpl$5.run(LauncherImpl.java:319)
at com.sun.javafx.application.PlatformImpl$5.run(PlatformImpl.java:215)
at com.sun.javafx.application.PlatformImpl$4$1.run(PlatformImpl.java:179)
at com.sun.javafx.application.PlatformImpl$4$1.run(PlatformImpl.java:176)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.application.PlatformImpl$4.run(PlatformImpl.java:176)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:76)
at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
at com.sun.glass.ui.gtk.GtkApplication$3$1.run(GtkApplication.java:82)
... 1 more

最佳答案

尝试初始化 SimpleListProperty通过这种方式 :

public Person(int id, List<Priority> list) {
...
ObservableList<Priority> observableList = FXCollections.observableArrayList(list)
this.choice = new SimpleListProperty<Priority>(observableList);
}

关于list - 在 JavaFX 中使用 ListProperty,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15457814/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com