繁体   English   中英

JAVA在ButtonGroup和.values()方面遇到麻烦

[英]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.listEnumeration转换为可Iterable的对象。

返回一个数组列表,其中包含指定枚举返回的元素的顺序,这些元素由枚举返回。 此方法提供了返回枚举的旧式API与需要集合的新API之间的互操作性。

for (AbstractButton b : Collections.list(getElements())) {
    // stuff
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM