Ecco le altre classi:
codice:
public class MainClass {
public static void main(String[] args) {
Crea_JFP cjf = new Crea_JFP();
JFrame jf = new JFrame();
jf= cjf.crea_JF("Menù");
pannello p = new pannello();
p= cjf.crea_JP(jf);
p.pannello_menu();
}
}
codice:
public class Crea_JFP {
public JFrame crea_JF(String Titolo) {
JFrame jf = new JFrame(Titolo);
jf.setBounds(400, 100, 400, 200);
jf.setVisible(true);
return(jf);
}
public pannello crea_JP(JFrame jf) {
Container cont_jf = jf.getContentPane();
pannello p = new pannello();
cont_jf.add(p);
return (p);
}
}
codice:
public class pannello extends JPanel implements ItemListener, ActionListener {
JButton inserimento, modifica, cancellazione, uscita;
public void pannello_menu() {
inserimento= new JButton("Inserisci");
modifica= new JButton("modifica");
cancellazione= new JButton("Cancella");
uscita= new JButton("Esci");
inserimento.addActionListener(this);
modifica.addActionListener(this);
cancellazione.addActionListener(this);
uscita.addActionListener(this);
add(inserimento);
add(modifica);
add(cancellazione);
add(uscita);
}
public void actionPerformed(ActionEvent e) {
if(e.getSource()== inserimento) {
scelta_inserisci si= new scelta_inserisci();
si.s_inserisci();
}
if(e.getSource()== modifica) {
System.out.print("Dovrebbe fare la modifica.\n");
}
if(e.getSource()== cancellazione) {
System.out.print("Dovrebbe fare la cancellazione.\n");
}
if(e.getSource()== uscita) {
this.setVisible(false);
System.exit(0);
}
}
public void itemStateChanged(ItemEvent arg0) {
}
}
Ora, secondo la mia mente contorta il programma, una volta entrato nel Menu Inserisci, dovrebbe comportarsi così:
1- Crea un JFrame chiamato "jf" utilizzando la classe Crea_JFP
2- Chiama la classe Crea_JFP che crea il container "cont_jf" associato a "jf"
3- Crea un pannello "p" che viene aggiunto a "cont_jf"
4- Ritorno a scelta_inserisci
5- Creo il nuovo Container "cont_jf" per "jf"
6- Aggiungo i bottoni
Il secondo container del punto 5 l'ho messo perché altrimenti non mi appariva nulla quando, poche righe sotto, mettevo: add(bottoni[i]);
che infatti è poi stato cambiato con cont_jf.add(bottoni[i]);