Прослушка на радиобатоны - Java

Узнай цену своей работы

Формулировка задачи:

Почему то не работает прослушка, предполагаю что она никак не связана с ними родительский класс
public class DesignFrame extends JFrame {
    protected JRadioButton rdbtnFullFood = new JRadioButton();
    protected JRadioButton rdbtnHalfFood = new JRadioButton();
    protected JRadioButton rdbtnFastFood = new JRadioButton();

    public JRadioButton setJRadioButton(String namerdButton, String textrdButton, int x, int y, int width, int height, int size, JPanel panel) {
        JRadioButton rdButton = new JRadioButton();
        rdButton.setName(namerdButton);
        rdButton.setText(textrdButton);
        rdButton.setBounds(x, y, width, height);
        rdButton.setFont(new Font("Segoe UI Light", Font.PLAIN, size));
        panel.add(rdButton);
        return rdButton;
    }
Его потомок
public class ClientFrame extends DesignFrame {
    private JPanel panel = new JPanel();
        ActionListener rdbtnListener = new rdbtnChange();
    public ClientFrame() {
        
        getContentPane().setLayout(null);
        setPanel(panel, 10, 11, 415, 320);
        getContentPane().add(panel);
                setJRadioButton("rdbtnFullFood", "Full Food", 195, 135, 90, 30, 14, panel);
        
        setJRadioButton("rdbtnHalfFood", "Half Food", 195, 160, 90, 30, 14, panel);
        
        setJRadioButton("rdbtnFastFood", "Fast Food", 195, 185, 90, 30, 14, panel);
        rdbtnFullFood.addActionListener(rdbtnListener);
        rdbtnHalfFood.addActionListener(rdbtnListener);
        rdbtnFastFood.addActionListener(rdbtnListener);
         }
        public class rdbtnChange implements ActionListener {
            public void actionPerformed(ActionEvent e) {
                if (rdbtnFullFood.isSelected()){
                    rdbtnHalfFood.setSelected(false);
                    rdbtnFastFood.setSelected(false);
                }
                else if (rdbtnHalfFood.isSelected()){
                    rdbtnFullFood.setSelected(false);
                    rdbtnFastFood.setSelected(false);
                }
                else {
                    rdbtnFullFood.setSelected(false);
                    rdbtnHalfFood.setSelected(false);
                }
            }
            
        }
}}

Решение задачи: «Прослушка на радиобатоны»

textual
Листинг программы
ButtonGroup group = new ButtonGroup();
    group.add(rdbtnFullFood);
    group.add(rdbtnHalfFood);

Оцени полезность:

6   голосов , оценка 4.167 из 5