ButtonGroupを使用して、フレームに複数のJButtonを配置しようとしています。複数のButtonGroupを1つのJFrameに配置する
フレームに3つのグループのボタンを入れなければなりません。
次のコードはボタンを作成しますが、分離するのではなく、お互いを「削除」しているようです。
私はそこに別々のボタンのグループ、それぞれ4つのボタンがあることを期待しています。
public class Question {
private String _question;
private String _option1;
private String _option2;
private String _option3;
private String _option4;
}
ここに方法があります:
方法は、そのように見えるれ、「質問」オブジェクトのArrayListのを受け入れます。 は別のクラスのフレームを継承し、同じフレームにパネルを設定する "DisplayOnPanel"クラス内にあります。
public void addButtonstoFrame(ArrayList<Question> q){
ArrayList<ButtonGroup> BG = new ArrayList<>();
ArrayList<JPanel> JP = new ArrayList<>();
JLabel question1 = new JLabel();
int j=0;
for (int i = 0; i <q.size() ; i++) {
BG.add(new ButtonGroup());
JP.add(new JPanel());
JRadioButton option1 = new JRadioButton(q.get(i).get_option1());
JRadioButton option2 = new JRadioButton(q.get(i).get_option2());
JRadioButton option3 = new JRadioButton(q.get(i).get_option3());
JRadioButton option4 = new JRadioButton(q.get(i).get_option4());
BG.get(j).add(option1);
BG.get(j).add(option2);
BG.get(j).add(option3);
BG.get(j).add(option4);
JP.get(j).add(option1);
JP.get(j).add(option2);
JP.get(j).add(option3);
JP.get(j).add(option4);
this.setLayout(new BorderLayout()); //this referes to a frame
this.add(JP.get(j)); //this referes to a frame
JP.get(i).setLocation(j+10,j+10);
JP.get(j).setVisible(true);
this.setVisible(true);//this referes to a frame
j++;
}
}
をし、その結果は、12の代わりに、わずか4 butoonsです: "これは" フレームを指し
ありがとうございます!
完全なコードサンプル(SSCCE)を必ず含めてください。 – Amber
実際にはたくさんのコードがありますが、最後にコード全体を投稿しないように言われました:-( – Alan
あなたのコード全体を投稿するように言われていませんより早く助けを求めるには、[MCVE] @Amberのヒント: '[mcve]'は[mcve]へのコメント内で自動的に展開されます。 –