[英]JAVA having troubles with ButtonGroup and .values()
第一次张贴,长期潜伏。
我在以下代码方面遇到麻烦! 它应该做的是生成2个单选按钮,然后巧妙地决定在打开窗口时要激活哪个按钮。
这有两个部分,一个扩展了JtoggleButton.ToggleButtonModel的CarcolorButtonModel,一个扩展了ButtonGroup的CarcolorButtonGroup。 我遇到问题的方法如下:
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();
它不喜欢这样,但是它声称Enumeration类型的“ values()未定义。
为了清楚起见,该方法应该循环浏览每个按钮,并查看其保存的颜色是否与c匹配。 由于上述原因,代码在for循环中失败。
修复了此问题,在这种情况下,.values()根本不起作用,在循环对其进行排序的hasmoreElements()中使用.nextElement()。
您可以使用Collections.list
将Enumeration
转换为可Iterable
的对象。
返回一个数组列表,其中包含指定枚举返回的元素的顺序,这些元素由枚举返回。 此方法提供了返回枚举的旧式API与需要集合的新API之间的互操作性。
for (AbstractButton b : Collections.list(getElements())) {
// stuff
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.