2016-07-13 12 views
-2

私は、3つのラジオボタン、1つの正しいと2つの不適切な画像を展開するサムネイルのグループを表示するJavaで一致するスタイルのゲームを作成しています。現在、私は正しい答えを表示している1番目のrbを持っています、それは2番目または3番目に表示することができるはずですが、そこに取得する方法を見つけることができません。JRadioButtonsを並べ替える

だから、可能性は次のようになります(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); 
+3

おそらくそれは私ですが、あなたが何をしようとしているのか、何処にいるのかは分かりません。 JRadioButtonが表示するテキストを変更する必要がある場合は、必要に応じて 'setText(...)'を呼び出してください。 –

+3

そして、1から3までの数をランダム化する必要があるならば、 'java.util.Random' objを使用して、例えば、変数randomで' int randInt = random.nextInt(3); 'を呼び出してからどのJRadioButtonがどのテキストを取得するかを決めるint。 JRadioButtonsは配列またはArrayListに保持されていてもかまいませんが、関連性があるかどうかは不明です。 –

+0

ポインタをありがとう、私はインデックスを無作為化し、arraylistに保持しようとしました。私がこれを必要とする理由は、今、正解は常にランダムなボタンの代わりに第1ラジオボタンに表示され、ゲームが無意味になります。 – Grizzwald

答えて

-1

はそれを考え出した:私は1つを含めるようにsetBoundsを変更しましたシャッフルされたコレクションから引き出された3つの所望のy値のうちの1つである。

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); 

次のまたは前のボタンを押すたびに、正しい答えが別の場所に表示されます。

アイデアありがとうホバークラフトフルEels!

+0

いいえ、いいえ、いいえ、私の考えではありません。 'setBounds(...)'と 'null'レイアウトを決して使用しないと、デバッグや拡張が非常に困難になるかもしれないひどいGUIが発生します。レイアウトマネージャを使用します。 JRadioButtonsをShoot JRadioButtonがGridLayoutを使用するJPanelに配置されようとしています。 –

関連する問題