|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Sep 2007
Messaggi: 1071
|
[Java] Disabilitare un JPanel
ciao ragazzi,
toglietemi una curiosità: ho un semplice programma di test che contiene due JPanel. L'obbiettivo è che quando io faccio click su un bottone del primo JPanel, mi appaia l'altro sovrapposto al primo con colore di sfondo semitrasparente e con un'animazione di caricamento. Subito ho pensato ad un OverlayLayout, pero il JPanel al di sotto resta sensibile agli eventi e quindi per esempio se seleziono qualcosa si ridisegna il componente Swing e manda tutto a putt***. Detto ciò esiste un modo per disabilitare completamente (che si ridisegni solo) un JPanel? ( .setEnabled(false) non lo disabilita completamente) Oppure sbaglio proprio io la filosofia per risolvere il problema? Grazie mille
__________________
Affari: ariakasneverborne, PanCar, Luk@°°°, Fabio310, kintaro oe, krike, fabry180384, dariox am2, chiadoz, windsofchange, dado1979, Rudyduca, aleforumista, Sheva77 |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Invece di usare un secondo JPanel, potresti personalizzare il glasspane del JFrame in questione (sempre che tu stia usando un JFrame, ma sembra ragionevole presumerlo).
Il glasspane è trasparente di default, se esegui l'override del metodo paintComponent puoi disegnarci sopra quello che vuoi e puoi intercettare gli eventi (e quindi consumarli in modo che non si propaghino ai componenti sottostanti) semplicemente aggiungendo i listener appropriati. Per approfondire, qui trovi della documentazione che dovrebbe essere sufficiente (il secondo link è quello più pertinente, il primo l'ho incluso per completezza): - Using Top-Level Containers - How to Use Root Panes
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) Ultima modifica di banryu79 : 16-11-2010 alle 09:15. |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Sep 2007
Messaggi: 1071
|
grazie per essere sempre disponibile
__________________
Affari: ariakasneverborne, PanCar, Luk@°°°, Fabio310, kintaro oe, krike, fabry180384, dariox am2, chiadoz, windsofchange, dado1979, Rudyduca, aleforumista, Sheva77 |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 18:35.



















