Domanda

Sto solo cercando di trovare il modo migliore per replicare una funzione piuttosto utile di Forms.Panel di Windows in Java. Fondamentalmente, quando disabiliti un Forms.Panel di Windows, anche tutti i controlli figlio sono disabilitati. Tuttavia, la loro proprietà abilitata viene preservata in modo tale che, quando il Pannello viene nuovamente abilitato, qualsiasi controllo figlio disabilitato prima della disabilitazione del Pannello, rimane disabilitato.

Posso aggiungere un listener di proprietà per un JPanel da attivare quando viene cambiata la sua proprietà abilitata e quindi scorrere tutti i componenti di JPanel e impostarli su disabilitati , ma ciò non preserverà le proprietà abilitate del componente.

Qualche suggerimento?

È stato utile?

Soluzione

Una soluzione più complessa è disponibile nel Pannello disattivato voce. Internamente utilizza una raccolta come suggerito da mlk per tenere traccia dei componenti che erano abilitati. Anche se non ti piace la soluzione proposta, puoi comunque utilizzare Swing Utils per ottenere facilmente tutti i componenti sul pannello.

Altri suggerimenti

Archivia i componenti disabilitati in una raccolta e controlla questa raccolta quando li riattivi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top