2013-02-27 3 views
1

Я хочу создать два переключателя для метки «Пол». Вот что я получил:Как установить расположение кнопок радиосвязи?

maleRB = new JRadioButton("Male", true); 
femaleRB = new JRadioButton("Female", false); 

radioGroup = new ButtonGroup(); 
radioGroup.add(maleRB); 
radioGroup.add(femaleRB); 

Но я понятия не имею, как установить их местоположение. Вы устанавливаете местоположение так же, как вы устанавливаете местоположение JLabel/JTextField и т. Д.?? Вот фотография. Я хочу поместить переключатели рядом с надписью «Пол».

IMG http://i52.tinypic.com/15z1kdu.jpg

+1

Зависит от диспетчера компоновки вы используете – Dan

+0

http://docs.oracle.com/javase/tutorial/uiswing/components/button.html# radiobutton – Bartzilla

+0

вы можете добавить группу радио в Panel и установить для нее макет – nsgulliver

ответ

0

Просто добавьте их в JPanel так же, как вы сделали бы что-нибудь еще.

ButtonGroup просто передает свои события вместе, так что только один может быть выбран сразу. Он не является графическим компонентом Swing.

2

Обычно это зависит от того, какой макет вы используете, но один из способов добавить группу переключателей - через JPanel, как я уже упоминал в комментарии ранее.

JRadioButton maleRB = new JRadioButton("Male" , true); 
JRadioButton femaleRB = new JRadioButton("Female" , false); 

ButtonGroup bgroup = new ButtonGroup(); 
bgroup.add(maleRB); 
bgroup.add(femaleRB); 

JPanel radioPanel = new JPanel(); 
radioPanel.setLayout(new GridLayout(r, c)); // here r could be 1 and c could be 2 
radioPanel.add(maleRB); 
radioPanel.add(femaleRB); 
+0

У меня проблема. Я попробовал это, но он не отображается в кадре. Что не так? – Ciara

-1
YourButton.setBounds(X, Y, Z, MAX_ENTRIES); 

Пример:

Duck.setBounds(75, 100, 75, MAX_ENTRIES);