Как добавить группу переключателей в основную программу Java, чтобы одновременно выбирался только один переключатель?

Я создаю проект в ядре java. НО я застрял в создании группы переключателей (для ввода пола (мужской/женский). Для этого мне нужна группа переключателей, чтобы одновременно выбирался только один переключатель, и соответственно вводить данные в базу данных. Пожалуйста помоги.


person shubh    schedule 21.07.2013    source источник
comment
Покажи нам, что ты пробовал. И прочитайте docs.oracle.com/javase/tutorial/uiswing/ компоненты/   -  person JB Nizet    schedule 21.07.2013


Ответы (3)


Пожалуйста, попробуйте использовать компонент ButtonGroup и добавьте два компонента JRadioButton с именами male и female в объект ButtonGroup, а затем отобразите его в JFrame, используя setVisible(true); метод.

Код ниже должен быть полезен: -

import java.awt.BorderLayout;
import java.awt.FlowLayout;
import javax.swing.ButtonGroup;
import javax.swing.JFrame;
import javax.swing.JRadioButton;

public class Rb extends JFrame {
    Rb() {
        JRadioButton male = new JRadioButton("male");
        JRadioButton female = new JRadioButton("Female");
        ButtonGroup bG = new ButtonGroup();
        bG.add(male);
        bG.add(female);
        this.setSize(100, 200);
        this.setLayout(new FlowLayout());
        this.add(male);
        this.add(female);
        male.setSelected(true);
        this.setVisible(true);
    }

    public static void main(String args[]) {
        Rb j = new Rb();
    }
}
person G.Srinivas Kishan    schedule 21.07.2013

Вот группа переключателей:

JRadioButton button1 = ...;
button1.setSelected(true);
JRadioButton button2 = ...;
ButtonGroup group = new ButtonGroup();
group.add(button1);
group.add(button2);
person tbodt    schedule 21.07.2013
comment
Я пробовал это дело. Но он показывает NUllPOinterException во время прогона. - person shubh; 21.07.2013
comment
@user2079152 user2079152 трассировка стека исключений сообщает вам, где именно происходит исключение. Если вы этого не понимаете, опубликуйте свой код и полную трассировку стека исключения в своем вопросе. - person JB Nizet; 21.07.2013

    JPanel radioButtonPanel = new JPanel();
    append = new JRadioButton("append");
    build = new JRadioButton("x.x.1");
    build.setSelected(true); //sets this button as selected on startup
    small = new JRadioButton("x.1.x");
    huge = new JRadioButton("1.x.x");

    // Create the button group to keep only one selected.
    ButtonGroup btnGroup = new ButtonGroup();
    btnGroup.add(append);
    btnGroup.add(build);
    btnGroup.add(small);
    btnGroup.add(huge);

Затем вы добавляете свои кнопки в JPanel или что-то подобное.

person Adrian Jandl    schedule 21.07.2013
comment
Нужно ли нам создавать JPanel или мы можем просто добавить JRadioButtons непосредственно в JFrame? - person shubh; 21.07.2013
comment
Должны быть возможны оба варианта, но предпочтительнее использовать: JFrame с 1 или более панелями JPanel. Каждая JPanel имеет 1 или несколько других компонентов, таких как RadioButtons, Buttons, TextFields и т. д. - person Adrian Jandl; 21.07.2013