Questo è quello che ho scritto finora, so che non è il metodo migliore, però non riesco a scrivere metodi che mi aiutino.
Help. Grazie a chi mi darà una mano

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;


public class nonso extends JFrame
{
//String risposta;
private Color backgroundColor;


public static void main(String[] args)
{
//Quello che ho aggiunto qui non è molto utile però lo lascerei
JFrame.setDefaultLookAndFeelDecorated(true);
int numDomanda=(int) (1+Math.random()*2);
nonso s= new nonso(numDomanda);
s.setVisible(true);

}


Container contentPane=getContentPane();
JPanel nordFin=new JPanel();
JPanel centroFin=new JPanel();
JPanel sudFin=new JPanel();

JLabel Titolo;
JButton a;
JButton b;
JButton c;
JButton d;
JLabel w=new JLabel("Aiuti");
JButton x=new JButton("Pubblico");
JButton y=new JButton("Telefonata a casa");
JButton z=new JButton("50 : 50");
JButton k=new JButton("Si ferma");

public nonso(int n)
{
super("ChiVuolEssereMilionario");
if(n==1)
{
Titolo=new JLabel("Chi è il professore più simpatico?");
a=new JButton("A: Buscemi");
b=new JButton("B: Laura");
c=new JButton("C: Serrecchia");
d=new JButton("D: Franchetta");
}
else
{
if(n==2)
{
Titolo=new JLabel("Quanti attaccanti italiani ha l'Inter?");
a=new JButton("A 3");
b=new JButton("B 1");
c=new JButton("C 0");
d=new JButton("D più di 4 ");
}
else
{
if (n==3)
{
Titolo=new JLabel("A cosa serve una scanner?");
a=new JButton("A Comprimere un file");
b=new JButton("B Vedere un filmato");
c=new JButton("C A navigare su internet");
d=new JButton("D Dispositivo di digitalizzazione dell'immagine");



}
}
}

a.setActionCommand("azione1");
b.setActionCommand("azione2");
c.setActionCommand("azione3");
d.setActionCommand("azione4");

nordFin.setLayout(new FlowLayout());
nordFin.add (Titolo);
centroFin.setLayout(new FlowLayout());
centroFin.add(a);
centroFin.add(b);
centroFin.add(c);
centroFin.add(d);
sudFin.setLayout(new FlowLayout());
sudFin.add(w);
sudFin.add(x);
sudFin.add(y);
sudFin.add(z);
sudFin.add(k);

contentPane.add(centroFin, BorderLayout.CENTER);
contentPane.add(nordFin, BorderLayout.NORTH);
contentPane.add(sudFin, BorderLayout.SOUTH);


ColorAction yellowAction=new ColorAction(Color.YELLOW);
ColorAction bluAction=new ColorAction(Color.BLUE);
ColorAction redAction=new ColorAction(Color.RED);
ColorAction greenAction=new ColorAction(Color.GREEN);



a.addActionListener(yellowAction);
b.addActionListener(bluAction);
c.addActionListener(redAction);
d.addActionListener(greenAction);


pack();

}
private class ColorAction implements ActionListener{

public ColorAction(Color m){
backgroundColor=m;

}
//Come si fa a dire che si il bottone viene cliccato???

public void actionPerformed(ActionEvent e) {
String Comando=e.getActionCommand();
if ("azione1".equals(Comando)) {
int n = JOptionPane.showConfirmDialog(
null, "E' la sua risposta definitiva?",
"Domanda di routine!",
JOptionPane.YES_OPTION);
if (n == JOptionPane.YES_OPTION) {
JOptionPane.showMessageDialog(null,
"E' la risposta sbagliata!!");
a.setBackground(backgroundColor.RED);
a.setEnabled(true);
c.setEnabled(false);
d.setEnabled(false);
JOptionPane.showMessageDialog(null,
"Mi dispiace ma la devo salutare!!");
JOptionPane.showMessageDialog(null,
"E' comunque stato un concorrente formidabile!!");
b.setEnabled(false);
b.setBackground(backgroundColor.GREEN);
} else if (n == JOptionPane.NO_OPTION) {
JOptionPane.showMessageDialog(null,
"Allora ci pensi meglio!!");
}

} else if ("azione2".equals(Comando))
{ int n = JOptionPane.showConfirmDialog(
null, "E' la sua risposta definitiva?",
"Domanda di routine!",
JOptionPane.YES_OPTION);
if (n == JOptionPane.YES_OPTION) {
JOptionPane.showMessageDialog(null,
"E' la risposta esatta!!");
b.setBackground(backgroundColor.GREEN);
a.setEnabled(false);
b.setEnabled(false);
c.setEnabled(false);
d.setEnabled(false);
JOptionPane.showMessageDialog(null,
"Complimenti, può continuare la sua scalata!!");
} else if (n == JOptionPane.NO_OPTION) {
JOptionPane.showMessageDialog(null,
"Allora ci continui a pensare!!");
}
}
else if ("azione3".equals(Comando))
{ int n = JOptionPane.showConfirmDialog(
null, "E' la sua risposta definitiva?",
"Domanda di routine!",
JOptionPane.YES_OPTION);
if (n == JOptionPane.YES_OPTION) {
JOptionPane.showMessageDialog(null,
"E' la risposta sbagliata!!");
c.setBackground(backgroundColor.RED);
a.setEnabled(false);
c.setEnabled(false);
d.setEnabled(false);
JOptionPane.showMessageDialog(null,
"Mi dispiace ma lei è una pippa!!");
JOptionPane.showMessageDialog(null,
"Si è rivelato una vera schiappa!!");
b.setEnabled(false);
b.setBackground(backgroundColor.GREEN);
} else if (n == JOptionPane.NO_OPTION) {
JOptionPane.showMessageDialog(null,
"Dai che non abbiamo tempo da perdere!!");
}
}
else { int n = JOptionPane.showConfirmDialog(
null, "E' la sua risposta definitiva?",
"Domanda di routine!",
JOptionPane.YES_OPTION);
if (n == JOptionPane.YES_OPTION) {
JOptionPane.showMessageDialog(null,
"E' la risposta sbagliata!!");
d.setBackground(backgroundColor.RED);
a.setEnabled(false);
c.setEnabled(false);
d.setEnabled(false);
JOptionPane.showMessageDialog(null,
"Mi dispiace ma lei ha fatto un grave errore!!");
JOptionPane.showMessageDialog(null,
"Quando torna a casa la picchieranno a sangue!!");
b.setEnabled(false);
b.setBackground(backgroundColor.GREEN);
} else if (n == JOptionPane.NO_OPTION) {
JOptionPane.showMessageDialog(null,
"Dai non rompa le palle!!");
}
}



/*public void actionPerformed (ActionEvent e){

Object source=e.getSource();

if (source==a)
{risposta="a";
System.out.println("Hai premuto a");

}
else if (source==b)
{risposta="b";
System.out.println("Hai premuto b");

}
*/
}
}

}