重新排序JRadioButtons

时间:2016-07-13 22:35:02

标签: java swing

我在java中创建了一个匹配的样式游戏,它显示了一组缩略图,这些缩略图通过3个单选按钮扩展为图片,1个正确,2个不正确。目前我有第一个rb显示正确的答案,它应该能够在第二个或第三个显示,但我无法弄清楚如何在那里得到它。

所以可能性是(CII,ICI或IIC) (rb文本从图片的文件名中拉出来)

final JTextArea textArea = new JTextArea();
        add(textArea);

    JRadioButton rb1 = new JRadioButton(rb1Text);
        add(rb1);
        rb1.addActionListener(new ActionListener()
        {
            @Override
            public void actionPerformed(ActionEvent e)
            {
                textArea.setText("Correct");
            }
        });

    JRadioButton rb2 = new JRadioButton(rb2Text);
        add(rb2);
        rb2.addActionListener(new ActionListener()
        {
            @Override
            public void actionPerformed(ActionEvent e)
            {
                textArea.setText("Guess Again");
            }
        });


    JRadioButton rb3 = new JRadioButton(rb3Text);
        add(rb3);
        rb3.addActionListener(new ActionListener()
        {
            @Override
            public void actionPerformed(ActionEvent e)
            {
                textArea.setText("Guess Again");
            }
        });

    ButtonGroup group = new ButtonGroup();
    group.add(rb1);
    group.add(rb2);
    group.add(rb3);

1 个答案:

答案 0 :(得分:-1)

想出来:我更改了setBounds以包含从洗牌集合中提取的3个所需y值中的一个。

ArrayList<String> obj = new ArrayList<String>();

        obj.add("250");
        obj.add("300");
        obj.add("350");

        Collections.shuffle(obj);
        int rand1 = Integer.parseInt(obj.get(0));
        int rand2 = Integer.parseInt(obj.get(1));
        int rand3 = Integer.parseInt(obj.get(2));

        rb1.setBounds(400, rand1, 200, 15);
        rb2.setBounds(400, rand2, 200, 15);
        rb3.setBounds(400, rand3, 200, 15);

因此,每次按下下一个或上一个按钮时,它都会将正确的答案放在不同的位置。

感谢Hovercraft Full Of Eels的想法!