【问题标题】:LinkedList and RadioButtonLinkedList 和 RadioButton
【发布时间】:2014-06-03 19:43:35
【问题描述】:

我有一个链接列表,其中包含用户通过单选按钮选择的所有答案。 我希望在重新访问时通过在 LinkedList 中选择较早设置的答案将它们设置为选中状态。 如何实现?

selected=(String) dtmarked.get(dtqno.indexOf(queno)-1);
System.out.println("SELECTED: "+selected);
if(selected.equals("choice1"))
    choice1.setSelected(true);
else if(selected.equals("choice2"))
    choice2.setSelected(true);
else if(selected.equals("choice3"))
    choice3.setSelected(true);
else if(selected.equals("choice4"))
    choice4.setSelected(true);

我尝试按照上面的片段进行操作,但没有成功,即使它打印了正确的选择编号! 这里 dtmarked 是我的链表。

  public void choice()
    {

        if(choice1.isSelected())
        {   
            if(dtmarked.size()!=cnt)
                dtmarked.add("choice1");
            else
            {
                dtmarked.remove(dtqno.indexOf(queno));
                dtmarked.add(dtqno.indexOf(queno),"choice1");
            }
        }
        else if(choice2.isSelected())
        {   
            if(dtmarked.size()!=cnt)
                dtmarked.add("choice2");
                else
                {
                    dtmarked.remove(dtqno.indexOf(queno));
                    dtmarked.add(dtqno.indexOf(queno),"choice2");
                }
        }
        else if(choice3.isSelected())
        {
            if(dtmarked.size()!=cnt)
            dtmarked.add("choice3");
            else
            {
                dtmarked.remove(dtqno.indexOf(queno));
                dtmarked.add(dtqno.indexOf(queno),"choice3");
            }
        }
        else if(choice4.isSelected())
        {
            if(dtmarked.size()!=cnt)
            dtmarked.add("choice4");
            else
            {
                dtmarked.remove(dtqno.indexOf(queno));
                dtmarked.add(dtqno.indexOf(queno),"choice4");
            }
        }      
        else
        {           
            if(dtmarked.size()!=cnt)
            dtmarked.add("0");
            else
            {
                dtmarked.remove(dtqno.indexOf(queno));
                dtmarked.add(dtqno.indexOf(queno),"0");
            }
        }
        System.out.println(dtqno);
        System.out.println(dtmarked);
    }

这就是我在链接列表中添加选项所做的工作。 这里的 cnt 也是一个变量,返回表中的条目数(在本例中为 5)。

【问题讨论】:

  • 在不知道您最初如何存储值的情况下,我们无能为力
  • @Darkhogg 如果您有解决方案,请告诉我

标签: java list radio jradiobutton


【解决方案1】:

您不应该使用 else if,因为这样只会执行 if/else if 块之一。你应该只使用 if。

【讨论】:

  • 如果是单选按钮,我只想选择一个。我不确定 'if-else' 或只有 'if' 会在这里产生影响,但我通过在每个 if-else 中放置一个 system.out 语句进行检查,并且它也输入了所需的情况。唯一的问题是choice1.setSelect() 没有为我选择任何选项。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-21
  • 2017-03-22
  • 1970-01-01
相关资源
最近更新 更多