第一次发布海报,长时间潜伏。
我遇到以下一段代码的麻烦! 它应该做的是生成2个单选按钮,然后巧妙地决定在打开窗口时要激活哪个按钮。
这有两个部分,一个扩展JtoggleButton.ToggleButtonModel的CarcolorButtonModel和一个CarcolorButtonGroup,它扩展了ButtonGroup。 我遇到问题的方法如下:
public class CarcolorButtonGroup extends ButtonGroup
{
public void setValue(color c)
{
for(AbstractButton b: getElements())
{
stuff
}
...
无论我做什么,它都不会运行。即使.values()也无济于事。 有什么想法吗?
编辑后续行动:
我目前得到的错误是:“只能迭代数组或java.lang.Iterable的实例”。我尝试过的另一个解决方案是在方法之前声明枚举和数组,即:
Enumeration<AbstractButton> e = getElements();
AbstractButton[] ara = e.values();
它不喜欢这样,但是,它声称“值()未定义类型枚举。
要清楚,该方法应循环显示每个按钮,并查看其保存的颜色是否与c匹配。由于上述原因,代码在for循环中失败。
答案 0 :(得分:0)
修正了它。在这种情况下,.values()根本不起作用,在hasmoreElements()中使用.nextElement()控制while循环对它进行排序。
答案 1 :(得分:0)
您可以使用Collections.list
将Enumeration
转换为Iterable
的内容。
返回一个数组列表,其中包含指定枚举返回的元素,这些元素按枚举返回的顺序排列。此方法提供返回枚举的旧API和需要集合的新API之间的互操作性。
for (AbstractButton b : Collections.list(getElements())) {
// stuff
}