Creo questa radiobutton in questo modo :
chiamo in un main di un'altra classe questa classe rappresentante il JradioButton però quando la chiama è come se andasse in loop e mostra sempre la finestra senza permettermi di selezionare nessuna scelta. Da cosa può dipendere??codice:public class prova extends JPanel implements ActionListener { int sc; static String br1 = "1. Avviare una nuova partita"; static String br2 = "2. Caricare una partita salvata"; static String br3 = "3. Storico partita"; static String br4 = "4. Esci"; JLabel picture; public prova() { super(new BorderLayout()); JRadioButton b1Button = new JRadioButton(br1); b1Button.setMnemonic(KeyEvent.VK_B); b1Button.setActionCommand(br1); b1Button.setSelected(true); JRadioButton b2Button = new JRadioButton(br2); b2Button.setMnemonic(KeyEvent.VK_C); b2Button.setActionCommand(br2); JRadioButton b3Button = new JRadioButton(br3); b3Button.setMnemonic(KeyEvent.VK_D); b3Button.setActionCommand(br3); JRadioButton b4Button = new JRadioButton(br4); b4Button.setMnemonic(KeyEvent.VK_R); b4Button.setActionCommand(br4); ButtonGroup group = new ButtonGroup(); group.add(b1Button); group.add(b2Button); group.add(b3Button); group.add(b4Button); b1Button.addActionListener(this); b2Button.addActionListener(this); b3Button.addActionListener(this); b4Button.addActionListener(this); JPanel radioPanel = new JPanel(new GridLayout(0, 1)); radioPanel.add(b1Button); radioPanel.add(b2Button); radioPanel.add(b3Button); radioPanel.add(b4Button); add(radioPanel, BorderLayout.LINE_START); setBorder(BorderFactory.createEmptyBorder(20,20,20,20)); } public int getSelezione(ActionEvent e){ if (e.getActionCommand()=="1. Avviare una nuova partita") sc = 1; if (e.getActionCommand()=="2. Caricare una partita salvata") sc = 2; if (e.getActionCommand()== "3. Storico partita") sc = 3; if (e.getActionCommand()== "4. Esci") sc = 4; return sc; } public int setSelezione(){ return sc; } public void actionPerformed(ActionEvent e) { sc = e.getModifiers(); } private static void createAndShowGUI() { JFrame frame = new JFrame("Menù di scelta"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JComponent newContentPane = new prova(); newContentPane.setOpaque(true); //content panes must be opaque frame.setContentPane(newContentPane); frame.pack(); frame.setVisible(true); } public static void main(String[] args) { javax.swing.SwingUtilities.invokeLater(new Runnable() { public void run() { createAndShowGUI(); } }); }

Rispondi quotando