Salve
sto imparando ad usare awt guardando in giro per internet guide e tutorial e mi chiedevo se ho capito bene e il mio approccio è corretto.
Vorrei implementare una classe che apra una finestra che preveda solo una lista per la selezione tra più opzioni. Una volta selezionata l'opzione desiderata si accede direttamente ad un'altra finestra nella quale si possono fare varie cose.
Ho due dubbi: visto il codice,
codice:
import java.awt.*;
import java.awt.event.*;
public class Start extends Frame
{
List lista = new List(0, false);
public Start()
{
super("Seleziona il tipo di dati");
lista.add("String");
lista.add("Integer");
lista.add("Double");
lista.addItemListener(new AscoltaLista());
add(lista);
pack();
setLocation(100,100);
setSize(400, 400);
setVisible(true);
}
public static void main(String[] arg)
{
new Start();
}
public class AscoltaLista implements ItemListener{
public void itemStateChanged(ItemEvent e) {
int el = ((Integer) e.getItem());
if (el == 0) {
((Component) e.getSource()).getParent().setVisible(false);
//qui inizializza un nuovo oggetto di una seconda classe
che (in qualche modo) dovrebbe aprire una seconda finestra.
}
}
}
}
la sentenza in rosso certamente funziona, ma... si usa? è buona programmazione? come bisognerebbe fare altrimenti?
dove c'è il commento, come dovrei fare questa presunta classe che apra una seconda finestra? dovrei farla che estenda Frame e che nel costruttore crei una finestra etc etc?
E il domandone, soprattutto: se poi volessi tornare alla schermata iniziale (finestra con opzioni), ad un certo punto dell'esecuzione della seconda classe come dovrei fare?!
Non trovo esempi che mi illuminino su questo punto!