有没有一种方法可以填充JavaFX ComboBox
或ChoiceBox
枚举的所有枚举?
这是我尝试的:
public class Test {
public enum Status {
ENABLED("enabled"),
DISABLED("disabled"),
UNDEFINED("undefined");
private String label;
Status(String label) {
this.label = label;
}
public String toString() {
return label;
}
}
}
在另一个类中,我试图填充一个ComboBox
:
ComboBox<Test.Status> cbxStatus = new ComboBox<>();
cbxStatus.setItems(Test.Status.values());
但是我得到一个错误: incompatible types: Status[] cannot be converted to ObservableList<Status>
我显然也遇到了同样的问题ChoiceBox
。
如果setItems需要一个ObservableList,则必须给它一个而不是一个数组。
试试这个:
ComboBox<Status> cbxStatus = new ComboBox<>();
cbxStatus.setItems( FXCollections.observableArrayList( Status.values()));
编辑:James_D(请参阅注释)的解决方案是首选的解决方案:
cbxStatus.getItems().setAll(Status.values());
我正在为一个游戏开发Javafx应用程序。我有一些数据存储在枚举中,但似乎不知道如何轻松地将数据添加到JavaFX TableView,有人能帮我一下吗。我将使用fxml为TableView设置样式。 我希望每一个枚举vallue都在一个单独的行中,在我希望的列中: 图标为图像。 按整数排序。 级别为整数。 经验值为整数。 枚举:
问题内容: 我想用一个枚举的所有可能值来填充列表 自从我最近爱上了,我就利用了 是否有更好的方法 (如在未混淆的衬管中)达到相同的结果? 问题答案: 我不会在一开始使用List,因为EnumSet更合适,但是您可以 要么
问题内容: 我有一个表映射String-> Integer。 我想用数据库中的值填充该枚举,而不是静态地创建一个枚举。这可能吗 ? 因此,与其静态地解决这个问题,不如: 我想动态创建这个枚举,因为数字{0,1,2,3}基本上是随机的(因为它们是由数据库的AUTOINCREMENT列自动生成的)。 问题答案: 否。枚举始终固定在编译时。您执行此操作的唯一方法是动态生成相关的字节码。 话虽如此,您可能
我应该工作,对吧?但它不是!!!!它告诉我dbValue可以转换为RelationActiveEnum...
问题内容: 我有一个简单的收藏问题。我有一个对象。我想要一个的的中,且s 。我需要一个,因为我要覆盖专门返回的方法。最干净/最好的方法是什么? 问题答案: 编辑:无需编写自己的(尽管为了后代,我将在下面保留实现)-请参见Kevin Bourrillion在JDK中的答案。 如果您 确实 需要枚举,可以使用: 如果可能的话,最好使用… 更好的选择是在周围编写一个小型包装器类。这样一来,您不必为了发现
问题内容: 这不是卡住我的问题,而是我正在寻找一种编写代码的整洁方法。 本质上,我正在编写一个事件驱动的应用程序。用户触发一个事件,该事件被发送到适当的对象,然后这些对象处理事件。现在,我正在编写偶数处理程序方法,并且希望使用switch语句确定如何处理事件。现在,在我研究通用结构时,事件类非常简单: 然后,在另一堂课中,我会看到类似以下内容的内容: 我会 喜欢 做的就是这样的事情(尽管我当然会坚