LinkedList和RadioButton

时间:2014-04-19 10:08:56

标签: java list radio jradiobutton

我通过单选按钮获得了用户所有选定答案的LinkedList。 我希望通过在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);

我尝试按照上面的snipet但是没有成功,即使它打印正确的选择号码! 这里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)。

1 个答案:

答案 0 :(得分:0)

你不应该使用else,因为那时只有一个if / else if块被执行。你应该只使用if。