- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如果在其他地方有人问过这个问题,我提前道歉,但我环顾四周,似乎找不到适合我情况的答案。
一些背景:我自己为 Savage Worlds RPG 系统编写了一种“RPG 角色生成器”。我正在使用 NetBeans IDE 为该应用程序设计 UI。到目前为止,事情进展得相当顺利,但我现在遇到了一个我似乎无法弄清楚的错误。
我有一套属性:敏捷、力量、聪明、精神和活力。这些属性的值是 Die 类型,即 d4、d6...d12。我创建了一个枚举来表示这些模具类型:
public enum DieType {
D4(4), D6(6), D8(8), D10(10), D12(12);
private int face;
private DieType(int face) {
this.face = face;
}
public int getValue() {
return face;
}
@Override
public String toString() {
String dieType = "d" + face;
return dieType;
}
}
在我的 UI 中,我创建了一系列 JSpinner,以便能够调整每个属性的值。我想在旋转器中使用这些模具类型,因此我为它们初始化了一个新的 SpinnerListModel:
agiSpin.setModel(new SpinnerListModel(DieType.values()));
到目前为止,一切都很好,一切仍然运行良好,我可以运行该应用程序,并且会出现窗口,其中为每个微调器填充了枚举列表。 (计划将模型初始化移动到一个变量,我可以将其插入到每个单独的微调器中,但现在我正在使用 NetBeans 生成的代码,因此要单独创建每个实例)。
当我尝试根据在绘制 GUI 之前实例化的 SWCharacter
类的实例来初始化每个微调器的值时,就会出现问题。对于上面的agiSpin
微调器,我这样做:agiSpin.setValue(swchar.getAgiAttr());
以便分配适当的值。变量agiAttr
是DieType
枚举的一个实例。当我运行该程序时,我得到:
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: invalid sequence element
at javax.swing.SpinnerListModel.setValue(SpinnerListModel.java:185)
at javax.swing.JSpinner.setValue(JSpinner.java:356)
...源自设置该值的尝试。
我做错了什么?我需要以不同的方式创建列表模型吗?我尝试赋值的方式是否存在语法错误?
最佳答案
微调器通常用于用户输入的整数或 double 值。在这种情况下,我将使用一个 ComboBox,其中每个值都被初始化。创建 JComboBox 的代码是:
JComboBox die = new JComboBox<DieType>(DieType.values());
这应该有效。在 NetBeans 中,它会自动创建 ComboBox,因此您需要右键单击并单击“自定义代码”并进行必要的更改,如上所示。
关于Java:使用一组 Enum 值作为 SpinnerListModel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23479582/
我正在尝试创建一个带有一组值的 JSpinner,这些值随着它们的减小而步长越来越小,因此我创建了一个函数来生成这些值,并将 100 个值添加到列表中,然后尝试使用以下命令创建一个 SpinnerLi
如果在其他地方有人问过这个问题,我提前道歉,但我环顾四周,似乎找不到适合我情况的答案。 一些背景:我自己为 Savage Worlds RPG 系统编写了一种“RPG 角色生成器”。我正在使用 Net
我想要一个 JSpinner 来显示一个非模式化的数字序列(比如,一个素数序列)。这种模式对于 SpinnerNumberModel 来说太复杂了,所以我决定继承 SpinnerListModel。构
我是一名优秀的程序员,十分优秀!