Salve a tutti,
ho un piccolo problema nel cambiare i pannelli di un frame.
Il frame ha una JMenuBar con tre JMenuItem, ognuno dei quali setta un pannello diverso.
Ad esempio:
Item1 setta il JPanel1
Item2 setta il JPanel2
Item3 setta il JPanel3
Quindi ogni ItemX ha il seguente ActionListener:
ItemX.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
getContentPane().setVisible(false);
p=new JPanelX();
setContentPane(p);
p.setVisible(true);
}
}
);
Il problema è che uno dei tre pannelli, diciamo il JPanel3, è troppo grande ed ha bisogno di uno scroller, quindi il suo codice è il seguente:
Item3.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
getContentPane().setVisible(false);
p=new JPanel3();
JScrollPane scroller=new JScrollPane(p);
setContentPane(scroller);
p.setVisible(true);
scroller.setVisible(true);
}
}
);
Il problema è che se cambio pannello dal 3 (quello con lo scroller) ad un qualsiasi altro, devo cliccare due volte altrimenti non me lo cambia.
Se invece passo dal pannello 1 al pannello 2 o viceversa questo errore non avviene.
Immagino quindi sia 'colpa' dello scroller...come devo fare??
Grazie mille a tutti![]()

Rispondi quotando