Newsgroup: it.comp.java
Titolo: [Newbie Swing] 2 JRadioButton che attivano e disattivano 6 JButton

Ecco il codice del programma.
Non riesco a capire dove sbaglio?
package provaswing;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class ProvaFrame extends JFrame /*implements ActionListener*/{
  JPanel contentPanel;
  JPanel primoPanel;
  JPanel secondoPanel;
  JPanel terzoPanel;
  String[] programmi = new String[2];
  JTextField campoTesto;
  JComboBox menuDiscesa;
  JRadioButton radio1;
  JRadioButton radio2;
  ButtonGroup gruppoRadio;
  JButton pulsante1;
  JButton pulsante2;
  JButton pulsante3;
  JButton pulsante4;
  JButton pulsante5;
  JButton pulsante6;
  JLabel etichetta;
  public ProvaFrame(){
    // CREAZIONE DEL CONTENTPANEL
    enableEvents(AWTEvent.WINDOW_EVENT_MASK);
    this.setSize(new Dimension(400,600));
    this.setTitle("Telecomando TV");
    contentPanel=(JPanel)this.getContentPane();
    contentPanel.setLayout(null);
     // INSERIMENTO DEL PRIMO PANEL NEL CONTENPANEL
    primoPanel=new JPanel();
    primoPanel.setBounds(new Rectangle(10,10,375,85));
    primoPanel.setBorder(BorderFactory.createTitledBorder("SCHERMO"));
    primoPanel.setLayout(null);
    contentPanel.add(primoPanel);
    etichetta = new JLabel();
    etichetta.setBounds(new Rectangle(10,25,355,50));
    etichetta.setHorizontalAlignment(SwingConstants.CENTER);
    etichetta.setBorder(BorderFactory.createEtchedBorder());
    etichetta.setOpaque(true);
    etichetta.setBackground(Color.white);
    primoPanel.add(etichetta);
    //COSTRUZIONE SECONDO PANNEL
    secondoPanel = new JPanel();
    secondoPanel.setBounds(new Rectangle(10,110,375,90));
    secondoPanel.setBorder(BorderFactory.createTitledBorder("ON/OFF - TIPO
SEGNALE"));
    secondoPanel.setToolTipText("Seleziona impianto di ricezione");
    secondoPanel.setLayout(null);
    contentPanel.add(secondoPanel);
    //CREAZIONE DEI RADIOBUTTON
    radio1 = new JRadioButton("Acceso");
    radio1.setMnemonic(KeyEvent.VK_1);
    radio1.setBounds(new Rectangle(10,30,90,30));
//    radio1.setActionCommand("Acceso");
    radio1.setToolTipText("Premere per attivare il telecomando");
    radio1.addActionListener(new jRadioButton1_actionAdapter(this));
    radio2 = new JRadioButton("Spento");
    radio2.setMnemonic(KeyEvent.VK_2);
    radio2.setBounds(new Rectangle(100,30,90,30));
  //  radio2.setActionCommand("Spento");
    radio2.setToolTipText("Premere per disattivare il telecomando");
    radio2.addActionListener(new jRadioButton2_actionAdapter(this));
    gruppoRadio = new ButtonGroup(); // creazione Gruppo per RADIO BUTTON
    gruppoRadio.add(radio1);         // aggiunta del radio button al gruppo
    gruppoRadio.add(radio2);         // aggiunta del radio button al gruppo
    //aggiunta dei pulsanti alla SECONDO PANEL
    secondoPanel.add(radio1);
    secondoPanel.add(radio2);
    // MENU DISCESA
    programmi[0]= new String("Segnale Terrestre");
    programmi[1]= new String("Segnale Satellitare");
    menuDiscesa = new JComboBox();
    for (int i=0; i<programmi.length; i++){
      menuDiscesa.addItem(programmi[i]);
    }
    menuDiscesa.setSelectedIndex(1);
    menuDiscesa.setBounds(new Rectangle(210,30,150,30));
    menuDiscesa.setToolTipText("Selezionare il tipo di segnale");
    secondoPanel.add(menuDiscesa);// AGGIUNTA DI MENU DISCESA AL SECONDO
PANEL
    //COSTRUZIONE TERZO PANNEL
    terzoPanel = new JPanel();
    terzoPanel.setBounds(new Rectangle(10,210,375,200));
    terzoPanel.setBorder(BorderFactory.createTitledBorder("TASTI"));
    terzoPanel.setToolTipText("Premi un tasto per scegliere un canale");
    terzoPanel.setLayout(null);
    contentPanel.add(terzoPanel);
    pulsante1 = new JButton("1");
    pulsante1.setBounds(new Rectangle(40,30,80,40));
    pulsante1.setBorder(BorderFactory.createRaisedBevelBorder());
    terzoPanel.add(pulsante1);
  //  pulsante1.addActionListener(this);
    pulsante2 = new JButton("2");
    pulsante2.setBounds(new Rectangle(150,30,80,40));
    pulsante2.setBorder(BorderFactory.createRaisedBevelBorder());
    terzoPanel.add(pulsante2);
    //pulsante2.addActionListener(this);
    pulsante3 = new JButton("3");
    pulsante3.setBounds(new Rectangle(260,30,80,40));
    pulsante3.setBorder(BorderFactory.createRaisedBevelBorder());
    terzoPanel.add(pulsante3);
   // pulsante3.addActionListener(this);
    pulsante4 = new JButton("4");
    pulsante4.setBounds(new Rectangle(40,120,80,40));
    pulsante4.setBorder(BorderFactory.createRaisedBevelBorder());
    terzoPanel.add(pulsante4);
    //pulsante4.addActionListener(this);
    pulsante5 = new JButton("5");
    pulsante5.setBounds(new Rectangle(150,120,80,40));
    pulsante5.setBorder(BorderFactory.createRaisedBevelBorder());
    terzoPanel.add(pulsante5);
    //pulsante5.addActionListener(this);
    pulsante6 = new JButton("6");
    pulsante6.setBounds(new Rectangle(260,120,80,40));
    pulsante6.setBorder(BorderFactory.createRaisedBevelBorder());
    terzoPanel.add(pulsante6);
    //pulsante6.addActionListener(this);
  }
  void jRadioButton1_actionPerformed(ActionEvent e) {
    pulsante1.setEnabled(true);
    pulsante2.setEnabled(true);
    pulsante3.setEnabled(true);
    pulsante4.setEnabled(true);
    pulsante5.setEnabled(true);
    pulsante6.setEnabled(true);
  }
  void jRadioButton2_actionPerformed(ActionEvent e) {
    pulsante1.setEnabled(false);
    pulsante2.setEnabled(false);
    pulsante3.setEnabled(false);
    pulsante4.setEnabled(false);
    pulsante5.setEnabled(false);
    pulsante6.setEnabled(false);
  }
}
class jRadioButton1_actionAdapter implements java.awt.event.ActionListener {
  ProvaFrame adaptee;
  jRadioButton1_actionAdapter(ProvaFrame adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.jRadioButton1_actionPerformed(e);
  }
}
class jRadioButton2_actionAdapter implements java.awt.event.ActionListener {
  ProvaFrame adaptee;
  jRadioButton2_actionAdapter(ProvaFrame adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.jRadioButton1_actionPerformed(e);
  }
}
public class FSwing {
  public static void main (String[] args){
    ProvaFrame frame = new ProvaFrame();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setLocationRelativeTo(null);
    frame.setVisible(true);
  }
}

Ho risolto cosě, che ne pensate?
package provaswing;
/**
 * <p>Titolo: Telecomando TV</p>
 * <p>Descrizione: Esercizio sulle Swing</p>
 * <p>Corso: Linguaggi di programmazione II</p>
 */
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
// Frame in cui viene costruita l'intera interfaccia
class Frame extends JFrame implements ActionListener{
  JPanel contentPanel;
  JPanel primoPanel;
  JPanel secondoPanel;
  JPanel terzoPanel;
  JPanel quartoPanel;
  String[] programmi = new String[2];
  String[] canale    = new String[12];
  JTextField campoTesto;
  JComboBox menuDiscesa;
  ButtonGroup gruppoRadio;
  JRadioButton radio1;
  JRadioButton radio2;
  JButton pulsante1;
  JButton pulsante2;
  JButton pulsante3;
  JButton pulsante4;
  JButton pulsante5;
  JButton pulsante6;
  JLabel  etichetta;
  public Frame() {
    // Creazione del ContentPanel
    enableEvents(AWTEvent.WINDOW_EVENT_MASK);
    this.setSize(new Dimension(400, 470));
    this.setTitle("Telecomando TV");
    contentPanel = (JPanel)this.getContentPane();
    contentPanel.setLayout(null);
    // Creazione del primo panel nel ContenPanel
    primoPanel = new JPanel();
    primoPanel.setBounds(new Rectangle(10, 10, 375, 85));
    primoPanel.setBorder(BorderFactory.createTitledBorder("Display"));
    primoPanel.setLayout(null);
    contentPanel.add(primoPanel);
    etichetta = new JLabel();
    etichetta.setBounds(new Rectangle(10, 25, 355, 50));
    etichetta.setHorizontalAlignment(SwingConstants.CENTER);
    etichetta.setBorder(BorderFactory.createEtchedBorder());
    etichetta.setOpaque(true);
    etichetta.setBackground(Color.white);
    primoPanel.add(etichetta); // Aggiunta dell'etichetta al primo Panel
    // Creazione del secondo panel nel ContenPanel
    secondoPanel = new JPanel();
    secondoPanel.setBounds(new Rectangle(10, 110, 180, 90));
    secondoPanel.setBorder(BorderFactory.createTitledBorder("O/ I"));
    secondoPanel.setToolTipText("Seleziona impianto di ricezione");
    secondoPanel.setLayout(null);
    contentPanel.add(secondoPanel);
    // Creazione dei RadioButton
    radio1 = new JRadioButton("Acceso");
    radio1.setMnemonic(KeyEvent.VK_1);
    radio1.setBounds(new Rectangle(7, 30, 80, 30));
    radio1.setToolTipText("Premere per attivare il telecomando");
    radio1.addActionListener(this);  // Aggancio di un Listener al
radioButton
    radio2 = new JRadioButton("Spento");
    radio2.setMnemonic(KeyEvent.VK_2);
    radio2.setSelected(true);
    radio2.setBounds(new Rectangle(90, 30, 80, 30));
    radio2.setToolTipText("Premere per disattivare il telecomando");
    radio2.addActionListener(this);  // Aggancio di un Listener al
radioButton
    gruppoRadio = new ButtonGroup(); // Creazione Gruppo per i radioButton
    gruppoRadio.add(radio1);         // Aggiunta del radioButton al gruppo
    gruppoRadio.add(radio2);         // Aggiunta del radioButton al gruppo
    // Aggiunta dei pulsanti al secondo Panel
    secondoPanel.add(radio1);
    secondoPanel.add(radio2);
    // Creazione del terzo panel nel ContenPanel
    terzoPanel = new JPanel();
    terzoPanel.setBounds(new Rectangle(195, 110, 190, 90));
    terzoPanel.setBorder(BorderFactory.createTitledBorder("Tipo Segnale"));
    terzoPanel.setToolTipText("Seleziona impianto di ricezione");
    terzoPanel.setLayout(null);
    contentPanel.add(terzoPanel);
    // Menů a discesa
    programmi[0] = new String("Segnale Terrestre");
    programmi[1] = new String("Segnale Satellitare");
    menuDiscesa = new JComboBox();
    for (int i = 0; i < programmi.length; i++) {
      menuDiscesa.addItem(programmi[i]);
    }
    menuDiscesa.setSelectedIndex(-1);
    menuDiscesa.setBounds(new Rectangle(20, 30, 150, 30));
    menuDiscesa.setToolTipText("Selezionare il tipo di segnale");
    menuDiscesa.setEnabled(false);
    terzoPanel.add(menuDiscesa); // Aggiunta del menů al terzo Panel
    // Creazione del quarto panel nel ContenPanel
    quartoPanel = new JPanel();
    quartoPanel.setBounds(new Rectangle(10, 210, 375, 200));
    quartoPanel.setBorder(BorderFactory.createTitledBorder("Tasti di
Selezione"));
    quartoPanel.setToolTipText("Premi un tasto per scegliere un canale");
    quartoPanel.setLayout(null);
    contentPanel.add(quartoPanel);
    // Creazione dei Button
    pulsante1 = new JButton("1");
    pulsante1.setBounds(new Rectangle(40, 30, 80, 40));
    pulsante1.setBorder(BorderFactory.createRaisedBevelBorder());
    pulsante1.setEnabled(false);
    quartoPanel.add(pulsante1);
    pulsante1.addActionListener(this); // Aggancio di un Listener al
pulsante
    pulsante2 = new JButton("2");
    pulsante2.setBounds(new Rectangle(150, 30, 80, 40));
    pulsante2.setBorder(BorderFactory.createRaisedBevelBorder());
    pulsante2.setEnabled(false);
    quartoPanel.add(pulsante2);
    pulsante2.addActionListener(this); // Aggancio di un Listener al
pulsante
    pulsante3 = new JButton("3");
    pulsante3.setBounds(new Rectangle(260, 30, 80, 40));
    pulsante3.setBorder(BorderFactory.createRaisedBevelBorder());
    pulsante3.setEnabled(false);
    quartoPanel.add(pulsante3);
    pulsante3.addActionListener(this); // Aggancio di un Listener al
pulsante
    pulsante4 = new JButton("4");
    pulsante4.setBounds(new Rectangle(40, 120, 80, 40));
    pulsante4.setBorder(BorderFactory.createRaisedBevelBorder());
    pulsante4.setEnabled(false);
    quartoPanel.add(pulsante4);
    pulsante4.addActionListener(this); //Aggancio di un Listener al pulsante
    pulsante5 = new JButton("5");
    pulsante5.setBounds(new Rectangle(150, 120, 80, 40));
    pulsante5.setBorder(BorderFactory.createRaisedBevelBorder());
    pulsante5.setEnabled(false);
    quartoPanel.add(pulsante5);
    pulsante5.addActionListener(this); //Aggancio di un Listener al pulsante
    pulsante6 = new JButton("6");
    pulsante6.setBounds(new Rectangle(260, 120, 80, 40));
    pulsante6.setBorder(BorderFactory.createRaisedBevelBorder());
    pulsante6.setEnabled(false);
    quartoPanel.add(pulsante6);
    pulsante6.addActionListener(this); //Aggancio di un Listener al pulsante
    // "Programmazione" dei canali televisivi
    canale[0]=new String("RAI 1");
    canale[1]=new String("RAI 2");
    canale[2]=new String("RAI 3");
    canale[3]=new String("Rete 4");
    canale[4]=new String("Canale5");
    canale[5]=new String("Italia 1");
    canale[6]=new String("Sky One");
    canale[7]=new String("Sky Finanza");
    canale[8]=new String("Sky News");
    canale[9]=new String("Sky Cinema");
    canale[10]=new String("Sky Sport");
    canale[11]=new String("Sky Cartoon");
  }
  /*
    Metodo che serve per gestire gli eventi.
    Il suo argomento č l'evento che si č verificato.
  */
  public void actionPerformed(ActionEvent evento) {
    /*
      Creiamo una variabile di tipo Object che contenga l'elemento
      dove si č verificato l'evento
    */
    Object src = evento.getSource();
    if (src == radio1) {
      etichetta.setEnabled(true);
      menuDiscesa.setEnabled(true);
      pulsante1.setEnabled(true);
      pulsante2.setEnabled(true);
      pulsante3.setEnabled(true);
      pulsante4.setEnabled(true);
      pulsante5.setEnabled(true);
      pulsante6.setEnabled(true);
    }
    if (src == radio2) {
      etichetta.setEnabled(false);
      menuDiscesa.setEnabled(false);
      pulsante1.setEnabled(false);
      pulsante2.setEnabled(false);
      pulsante3.setEnabled(false);
      pulsante4.setEnabled(false);
      pulsante5.setEnabled(false);
      pulsante6.setEnabled(false);
    }
    if (src == pulsante1) {
      if(menuDiscesa.getSelectedIndex()!=-1)
        etichetta.setText(canale[0+(menuDiscesa.getSelectedIndex()*6)]);
        else etichetta.setText("Prego, selezionare sistema di
ricezione!!!");
    }
    if (src == pulsante2) {
      if(menuDiscesa.getSelectedIndex()!=-1)
        etichetta.setText(canale[1+(menuDiscesa.getSelectedIndex()*6)]);
        else etichetta.setText("Prego, selezionare sistema di
ricezione!!!");
    }
    if (src == pulsante3) {
      if(menuDiscesa.getSelectedIndex()!=-1)
        etichetta.setText(canale[2+(menuDiscesa.getSelectedIndex()*6)]);
        else etichetta.setText("Prego, selezionare sistema di
ricezione!!!");
    }
    if (src == pulsante4) {
      if(menuDiscesa.getSelectedIndex()!=-1)
        etichetta.setText(canale[3+(menuDiscesa.getSelectedIndex()*6)]);
        else etichetta.setText("Prego, selezionare sistema di
ricezione!!!");
    }
    if (src == pulsante5) {
      if(menuDiscesa.getSelectedIndex()!=-1)
        etichetta.setText(canale[4+(menuDiscesa.getSelectedIndex()*6)]);
        else etichetta.setText("Prego, selezionare sistema di
ricezione!!!");
    }
    if (src == pulsante6) {
      if(menuDiscesa.getSelectedIndex()!=-1)
        etichetta.setText(canale[5+(menuDiscesa.getSelectedIndex()*6)]);
        else etichetta.setText("Prego, selezionare sistema di
ricezione!!!");
    }
  }
}
// Classe principale per provare l'interfaccia
public class ProvaSwing {
  public static void main (String[] args){
    /*
     Impostiamo la GUI (interfaccia grafica) tramite l'UIManager, dicendogli
     che la finestra deve apparire con lo stile del sistema operativo usato.
    */
    try {
      UIManager.setLookAndFeel(
          UIManager.getSystemLookAndFeelClassName());
    }
    catch (Exception e)
    {
      JOptionPane.showMessageDialog(null, "Impossibile impostare lo stile
"+e);
    }
    Frame frame = new Frame();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setLocationRelativeTo(null);
    frame.setVisible(true);
  }
}