Java 重新排序JRadioButtons

Java 重新排序JRadioButtons,java,swing,Java,Swing,我正在用java创建一个匹配风格的游戏,它显示一组缩略图,这些缩略图通过3个单选按钮展开为图片,1个正确,2个不正确。目前,我有第一个rb显示正确的答案,它应该能够显示在第二个或第三个,但我不知道如何得到它 所以可能是(CII、ICI或IIC) (rb文本从图片的文件名中提取) 算出了:我更改了setBounds,以包含从无序集合中提取的3个所需y值之一 ArrayList<String> obj = new ArrayList<String>(); o

我正在用java创建一个匹配风格的游戏,它显示一组缩略图,这些缩略图通过3个单选按钮展开为图片,1个正确,2个不正确。目前,我有第一个rb显示正确的答案,它应该能够显示在第二个或第三个,但我不知道如何得到它

所以可能是(CII、ICI或IIC) (rb文本从图片的文件名中提取)


算出了:我更改了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);
arraylistobj=newarraylist();
目标添加(“250”);
obj.添加(“300”);
目标添加(“350”);
收藏。洗牌(obj);
int rand1=Integer.parseInt(obj.get(0));
int rand2=Integer.parseInt(obj.get(1));
int rand3=Integer.parseInt(obj.get(2));
rb1.挫折(400,200,15);
rb2.挫折(400、200、15);
rb3.挫折(400,200,15);
因此,每次按下“下一步”或“上一步”按钮时,都会将正确答案放在不同的位置


感谢你的创意气垫船充满鳗鱼

可能是我,但我不确定你到底想做什么,也不确定你被困在哪里。如果需要更改JRadioButton显示的文本,只需在需要时调用它的
setText(…)
。如果需要将数字从1随机化为3,则使用
java.util.Random
obj,比如在名为Random的变量中,调用
int randInt=Random.nextInt(3),然后使用该int决定哪个JRadioButton获取哪个文本。JRadioButtons可以保存在数组或ArrayList中。。。。但我还是不确定这是否相关。感谢你的指点,我尝试将索引随机化,并将它们保存在arraylist中,但两种方法都不太成功。我需要它的原因是;现在,正确答案总是出现在第一个单选按钮上,而不是随机按钮,这使得游戏毫无意义。所以。。。。现在你知道该怎么做了,对吧?或者,如果没有,至少显示一次尝试。请考虑创建和发布更多的代码,特别是一个或。这是一个小但完整(即可编译和可运行)的程序,只有演示您的问题所需的代码,同样,我们可以复制、粘贴、编译和运行而无需修改,这与您的问题一起发布在这里,而不是在链接中。只是为了进一步说明:我们绝对不想看到您的整个程序,我们不想要无法运行的代码片段。相反,我们想要介于两者之间的东西。请查看上面有用的链接了解更多详细信息。不,不,不,不是我的主意。永远不要使用
setBounds(…)
null
布局,因为这会导致糟糕的GUI,很难调试和增强。使用布局管理器。射击JradioButton请求被放入使用GridLayout的JPanel中——不要让他们失望。
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);