Buon pomeriggio!

Avrei un pò di dubbi da risolvere:

1)
Per gestire un pulsante,viene riscritto il metodo actionPerformed(),nel quale poi,mediante la lettura di una stringa,mi fa capire quale pulsante è stato premuto.

Ma se ho un numero molto grande di pulsanti,e mi risulta scomodo inserire una serie di if,e vorrei inserire uno switch,come si fa a paragonarlo con una stringa?

switch(Stringa)
{
case ...
...
}
è scorretto,si dovrebbe usare il metodo equals,ma come?

2)
Una volta riconosciuto il pulsante,di seguito si scrivono le istruzioni per fargli eseguire le dovute operazioni.
Ma se queste operazioni volessi inserirle in un unico metodo che poi verrebbe richiamato dal gestore dei pulsanti?
Ho pensato a questa risoluzuione:
metodo()
{
xxx
xxx
xxx
}
public void ActionPerformed(...)
{
String leggi=e.get...
if(leggi.equals("xxx"))
{
metodo();
}
}
...

Ma java mi da errore

3)
Ho scritto una semplice applet per effettuare il login,solo che il codice non mi sembra molto pulito:
Ho in totale 6 user con relative password,quindi ho messo un controllo di questo tipo:
if((user.equals("user1)&&(pass.equals("pass1"))||. ..||...||(user.equals("user6)&&(pass.equals("pass6 ")))
{
...
}
Come potrei rendere migliore questo conrtollo?

Pago 100 euro per ogni risposta