|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Aug 2004
Messaggi: 59
|
Espandere un JFrame alla massima dimensione dello schermo [JAVA]
Salve,
qualcuno sa dirmi come posso impostare l'evento di espandibilità massima della finestra alle dimensioni dello schermo su cui l'applicazione sta girando? cioè di default quando eseguo il mio programma imposto con setSize() delle dimensioni di default, e per metterlo a tutto schermo premo Ingrandisci, ma vorrei che la pressione di Ingrandisci fosse impostata di default. Ciao |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Se non hai almeno Java 1.4 o l'extended-state MAXIMIZED_BOTH non è supportato si può comunque ottenere la dimensione dello schermo da Toolkit ed impostare a questa dimensione il tuo frame. Non è proprio esattamente come una "vera" massimizzazione ma ... meglio che niente.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) Ultima modifica di andbin : 25-04-2008 alle 21:58. |
|
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Aug 2004
Messaggi: 59
|
grazie mille, funziona!
La soluzione che mi hai consigliato come seconda alternativa l'avevo già provata, ma la parte bassa del frame veniva tagliata dalla barra di windows e quindi non mi piaceva come soluzione, invece con setExtendedState( JFrame.MAXIMIZED_BOTH) funziona alla perfezione. grazie ancora, saluti |
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Comunque, giusto per la cronaca, la classe GraphicsEnvironment ha il metodo getMaximumWindowBounds() che ritorna un Rectangle che indica la massima area sfruttabile tenendo presente la presenza di toolbar native o altro.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#5 |
|
Member
Iscritto dal: Aug 2004
Messaggi: 59
|
ciao,
senti ho un'altra cosa da chiederti. Ho creato una JMenuBar all'interno del quale ho messo dei componenti JMenu e JMenuItem. Ho impostato tramite setBackground() e setForeground() rispettivamente colore di sfondo e colore del testo dei vari componenti. Il problema è che quando vado sopra questi componenti con un evento di tipo MouseEvent dell'interfaccia MouseListener nonostante imposti dei nuovi colori di background e di testo continuano a uscirmi quelli di default dell look-and-feel (utilizzando ill L&F Windows esce un grigio scuro e il testo nero). Ti posto il codice che ho utilizzato per la realizzazione dell'ascoltatore di eventi: private class MouseHandler implements MouseListener { public void mousePressed( MouseEvent event ) { } public void mouseClicked( MouseEvent event ) { } public void mouseReleased( MouseEvent event ) { } public void mouseEntered( MouseEvent event ) { if( event.getSource() == fileMenu ) { fileMenu.setBackground( colorBarSelected ); fileMenu.setForeground( colorTextSelected ); } } public void mouseExited( MouseEvent event ) { fileMenu.setBackground( colorBar ); fileMenu.setForeground( colorText ); } } Poi nel costruttore della mia classe che estende JMenuBar registro l'ascoltatore sul componente fileMenu di tipo JMenu. Insomma come mai non cambia lo sfondo nonostante la registrazione dell'evento sia corretta( ho provato a far visualizzare una stringa e a farla scomparire quando il mouse entra e esce dai margini del componente, ma per quanto riguarda backgroun e testo non ne vuole sapere. ciao |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Jun 2001
Messaggi: 458
|
Ciao, prova ad utilizzare SwingUtilities.updateComponentTreeUI(Component c)
__________________
|
|
|
|
|
|
#7 |
|
Member
Iscritto dal: Aug 2004
Messaggi: 59
|
purtroppo non credo sia questo il metodo.
ritengo che forse dovrei mettermi a riprogettare la barra tramite il BasicMenuItemUI, ma perderei un sacco di tempo. andbin tu che dici? |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Jul 2002
Messaggi: 4334
|
Prova con setOpaque( true )
__________________
|Java Base| |
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Jun 2001
Messaggi: 458
|
In attesa di qualcuno più esperto...
prova a fare questo: Codice:
public void mouseEntered( MouseEvent event ) {
if( event.getSource() == fileMenu ) {
fileMenu.setBackground( colorBarSelected );
fileMenu.setForeground( colorTextSelected );
SwingUtilities.updateComponentTreeUI(myFrame);
}
}
Fai la stessa cosa per: public void mouseExited( MouseEvent event )
__________________
Ultima modifica di vincenzo83 : 27-04-2008 alle 16:47. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:09.












VIDEOLEZIONI di Matematica, Informatica, Fisica I & II e MOLTO altro, GRATIS !!!
|








