ButtonGroup을 사용하여 프레임에 여러 JButton을 넣으려고합니다.하나의 JFrame에 여러 ButtonGroups 넣기
프레임에 3 개의 버튼 그룹을 넣고 서로 분리해야합니다.
다음 코드는 버튼을 만들지 만 분리되는 대신 서로를 "삭제"하는 것 같습니다.
별도의 버튼 그룹 4 개가 표시 될 것으로 예상됩니다.
방법처럼 보이는,에 "질문"객체의 ArrayList를을 받아들
public class Question {
private String _question;
private String _option1;
private String _option2;
private String _option3;
private String _option4;
}
여기 방법입니다. 은 다른 클래스의 프레임을 상속 한 클래스 내에 있으며 "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] 또는 [ Short, Self Contained, Correct Example] (http://www.sscce.org/) @Amber 팁 :'[mcve]'는 [mcve]에 대한 코멘트에서 자동으로 확장됩니다. –