Salve a tutti, non riesco a trovare in rete qualcuno che abbia avuto il mio stesso problema (o meglio, uno l'avevo trovato qualche giorno fa, ma ora è mezzora che lo cerco e non lo ritrovo). Come da titolo, quando rendo visibile il mio GlassPane traslucido (effetto "finestra oscurata"), ciò che si vede dietro è un minestrone dei components della finestra: ogni components cambia la sua posizione, si sovrappone agli altri, si nasconde o quello che più gli pare e piace.
Nel momento in cui nascondo il GlassPane, tutto alla normalità.
Ora, questo non da problemi di utilizzo, dato che quando il GlassPane è attivo, i components dietro non sono utilizzabili, ma potete ben immaginare quanto faccia schifo da vedere
Posto il codice, per quanto possa servire:
1.Classe GlassPane
2.Nella classe del JFrame la dichiarazione e, nel costruttore, l'inizializzazione del GlassPane. Sotto, i due metodi con i quali "attivo" e "disattivo" il GlassPane.codice:public class GlassPane extends JPanel{ public GlassPane(){ super(); setBackground(new Color(0, 0, 0, 100)); } }
codice:private GlassPane glasspane; private Finestra() { [...] glasspane = new GlassPane(); setGlassPane(glasspane); [...] } public void oscura(){ if(isVisible()) glasspane.setVisible(true); } public void ripristina(){ if(glasspane!=null) if(glasspane.isVisible()) glasspane.setVisible(false); }

). Come da titolo, quando rendo visibile il mio GlassPane traslucido (effetto "finestra oscurata"), ciò che si vede dietro è un minestrone dei components della finestra: ogni components cambia la sua posizione, si sovrappone agli altri, si nasconde o quello che più gli pare e piace.
Rispondi quotando