Allora, vorrei essere piu chiaro.
1) riguardo a quanto domando sopra, e' una buona idea procedere nel seguente modo, ovvero per ogni pannello che si aggiunge al frame principale(o meglio, per ogni blocco di pannelli), creare una nuova classe.
Io vorrei creare 3 macro-pannelli sul mio frame principale, quindi vorrei procedere nel seguente modo:
Codice PHP:
MyPanel1 panel1 = new MyPanel1 ();
frame.getContentPane().add(panel, BorderLayout.NORTH);
MyPanel2 panel2 = new MyPanel2 ();
frame.getContentPane().add(panel, BorderLayout.CENTER);
MyPanel3 panel3 = new MyPanel3 ();
frame.getContentPane().add(panel, BorderLayout.SOUTH);
E per ogni pannello creo la mia classe personalizzata di MyPanel (anche per tenere un certo ordine nel codice) come ad es:
Codice PHP:
public class MyPanel1 extends JPanel {
protected static final String textFieldString = "JTextField";
protected static final String buttonString = "JButton";
protected JLabel var;
public MyPanel1() {
//pannello da creare
}
}
Potrebbe funzionare, ma soprattutto, e' un buon modo di procedere?
2)
Altra cosa: sfondo e pannelli.
Allora, io ho il seguente frame attualmente:
Al momento, ho erroneamente inserito lo sfondo del frame nel seguente modo:
Codice PHP:
ImageIcon immagine=new ImageIcon("images/green.jpg");
JLabel defaultLabel = new JLabel(immagine);
defaultLabel.setOpaque(true);
defaultLabel.setPreferredSize(new Dimension (300,450));
//bottone di esempio
JButton button = new JButton ("Ciao");
frame.getContentPane().add(defaultLabel, BorderLayout.CENTER);
frame.getContentPane().add(button, BorderLayout.NORTH);
Ovvero ho inserito lo sfondo in un layout di tipo BorderLayout come fosse un componente qualsiasi.
Ho inserito il JButton per vedere appunto che il bottone non viene messo "sopra" lo sfondo , ma come da codice, viene messo semplicemente sotto.
Ora la mia domanda e': come faccio a lasciare fisso lo sfondo, e a inserire sopra i miei componenti (i miei 3 panel di cui parlavo sopra).
Tra i vari pannelli dovro' usare un layout manager ovviamente, ma per inserirli sopra senza far sparire lo sfondo come posso fare?
Vi ringrazio per l'aiuto che mi avete dato fin ora.
ciao