0
나는 lable과 두 개의 radiobutton이있는 jframe을 가지고 있습니다.스프링 레이아웃 사용 손 GUI 용
나는 스프링 레이아웃을 사용하지만, 페이지의 왼쪽 상단에 보이는 두 번째 라디오 버튼!
public class tester extends JFrame {
public tester() {
add(create());
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(400, 500);
setVisible(true);
}
public JPanel create() {
JPanel panel = new JPanel();
ButtonGroup group = new ButtonGroup();
JRadioButton r1 = new JRadioButton("Yes");
JRadioButton r2 = new JRadioButton("No");
group.add(r1);
group.add(r2);
JLabel lable = new JLabel("Today is sunday?");
panel.add(lable);
// panel.add(group); // How add this?
panel.add(r1);
panel.add(r2);
JButton savebt= new JButton("Save");
JButton cancelbt=new JButton("Cancell");
panel.add(savebt);
panel.add(cancelbt);
panel.setLayout(new SpringLayout());
SpringUtilities.makeCompactGrid(panel, 1, 3, 50, 100, 25, 50);
return panel;
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
new tester();
}
});
}
}
지금이 예외가 발생합니다
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: No such child: 5
내가 라디오 버튼의 라인의 아래에 내 두 개의 버튼을 표시 할!
좋은 도움이되었지만 이제는 그 줄 아래에 두 개의 버튼을 추가하여 인접 해 있어야합니다. – Sajad
@ Sajjad- 2 행 3 열 = 6 셀. 당신은 단지 5 개의 구성 요소를 추가하고 있습니다. 그리드에서 빈 셀을 사용할 수 없습니다. 그렇게하면이 예외가 throw됩니다. 마지막 셀에 빈 JLabel을 추가하십시오. – whiskeyspider
좋은 도움, 고마워 ... – Sajad