Semplice: stai dichiarando b1 e b2 nel costruttore... quindi questi due oggetti vivono finchè vive il costruttore... quando il costruttore ha terminato il suo lavoro b1 e b2 vengono deallocati...
Soluzione:
dichiara b1 e b2 al di fuori di tutti i metodi, così li puoi referenziare da qualsiasi punto all'interno della classe (ti consiglio di far questo per tutti gli oggetti, anche le stringhe, così non hai problemi):
codice:
public class Start extends JFrame implements ActionListener{
JButton b1;
JButton b2;
String s1;
String s2;
JPanel p1;
public Start(){
super("VideoStore...");
s1= "Inserisci Un Nuovo Film!";
s2= "Visualizza i Film Registrati!";
b1=new JButton(s1);
b2=new JButton(s2);
p1=new JPanel();
p1.add(b1);
p1.add(b2);
setContentPane(p1);
b1.addActionListener(this);
b2.addActionListener(this);
}
...
}
Ciao.