Vi spiego il quesito...
Ho una serie di JPanel in un unico JFrame,
questi JPanel si alternano tramite vari CardLayout,
per esempio il frame all'inizio è diviso in due JPanel,
uno contiene dei pulsanti JButton e l'altro che chiamerò
di seguito panX è diviso in altri JPanel richiamati dai JButton;
anche questi JPanel sono divisi altri due JPanel di seguito subA e subB.
In subA ho altri JButton, di seguito butA, che alternano i subB
tramite un CardLayout e alcuni richiamano delle JOptionPane.
Cosa mi succede... se con un butA che apre una JOptionPane.showConfirmDialog
faccio terminare una sequenza di inserimento dati e cancellare il contenuto di panX,
usando removeAll(); validate(); e repaint(); , che contiene lo stesso butA e dopo,
dal JButton di partenza vado a ricreare di nuovo i JPanel.... succede che,
alla pressione del butA, mi vengono creati due JOptionPane e così via in modo
lineare, cioè se termino di nuovo, alla pressione del butA mi creerà tre JOptionPane
e così via. E' come se l'azione del pulsante, benchè vengano cancellati i JPanel che
lo contengano, rimane e tiene conto delle volte che è stato premuto!!!![]()
![]()
Come posso risolvere il problema!?
So che senza postare il codice è più complicato,
ma è tanto e frazionato in tante classi!!
Grazie per l'attenzione.