Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [JAVA] - LookAndFeel di Window:comportamento anomalo

    Ciao,nella mia applicazione vorrei impostare il look and feel di windows come default e consentire un cambiamento di look and feel da menu all'utente,compresa il ritorno a quello di xp.Ora per impostare il laf di default tutto ok,ho sepmlicemente inserito come istruzione (prima della creazione dei componenti)
    codice:
    UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    .

    Per tornare al lookandfeel di xp da menu il metodo gestore fa questo:
    codice:
    .
    UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    SwingUtilities.updateComponentTreeUI(mainWindow);
    .
    dove ho omesso solo la gestione delle eccezioni.Il problema è che l'update del LaF in questo modo provoca un'anomalia:
    i pulsanti della toolbar cambiano forma risultando più larghi e perdendo la forma di quadrati perfetti e se hanno del testo una parte di esso risulta invisibile.Allego due immagini che mostrano il problema.
    Mi piacerebbe saper se questo problema lo da solo a me o no e se no come risolverlo.
    Il centro dell'attenzione non è sempre un buon posto in cui trovarsi

    Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)

  2. #2
    quì allego l'altra immagine
    Immagini allegate Immagini allegate
    Il centro dell'attenzione non è sempre un buon posto in cui trovarsi

    Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)

  3. #3
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    l'ho avuto anke io questo problema, credo sia un bug, mi pare mi si presentava se la toolbar era flootable...ma non so se c'è un modo per risolverlo...hai provato con l'ultima versione di java? oppure leggi la sezione bugs sul sito della sun

    Sun Certified Java Programmer

    EUCIP Core Level Certified

    European Certification of Informatics Professionals

  4. #4
    Originariamente inviato da anx721
    l'ho avuto anke io questo problema, credo sia un bug, mi pare mi si presentava se la toolbar era flootable...ma non so se c'è un modo per risolverlo...hai provato con l'ultima versione di java? oppure leggi la sezione bugs sul sito della sun
    Si immaginavo fosse un bug purteoppo.Me lo fa anche se non è floatable.Ora controllo sul sito della sun come mi hai suggerito.
    Il centro dell'attenzione non è sempre un buon posto in cui trovarsi

    Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)

  5. #5
    Ho trovato il bug preciso:
    http://bugs.sun.com/bugdatabase/view...bug_id=4910521

    Solo che non riesco a acapire come realizzare la soluzione proposta.Si parla di forzare i bottoni ada avere la medesima dimensione per tutta la vita dell'applicazione,ma come?
    Il centro dell'attenzione non è sempre un buon posto in cui trovarsi

    Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)

  6. #6
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    prova a settare un grid layout alla toolbar, con una riga e n colonne se n sono i pulasnti, oppure utilizza i metodi setPreferredSize, setMaximumSize sui pulsanti

    Sun Certified Java Programmer

    EUCIP Core Level Certified

    European Certification of Informatics Professionals

  7. #7
    Originariamente inviato da anx721
    prova a settare un grid layout alla toolbar, con una riga e n colonne se n sono i pulasnti, oppure utilizza i metodi setPreferredSize, setMaximumSize sui pulsanti
    Ok provo,grazie del suggerimento
    Il centro dell'attenzione non è sempre un buon posto in cui trovarsi

    Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)

  8. #8
    Allora,ho trovato la soluzione e la posto per utilità comune.

    Per i pulsanti con la sola icona mi è stato sufficiente impostare la maximum size uguale alla preferred size, come mi è stato suggerito da anx721 ( Thanks )

    codice:
    myButt.setMaximumSize(myButt.getPreferredSize());
    Per i pulsanti di toolbar con assieme icona e testo questo non è stato sufficiente,quindi ho provato a settare alla toolbar un gidlayout singola riga

    codice:
    toolBar.setLayout(new GridLayout(1,0));
    Ciò ha migliorato la situazione nel senso che ora la dim dei pulsanti rimaneva costante dopo il setting del LaF,però l'icona ed il testo continuavano a cambiare di posizione all'interno del singolo pulsante spostandosi verso destra e facendo sparire una parte della scritta.

    Quest'ultimo problema lo si evita impostando un margin ad ogni pulsante,ad esempio:

    codice:
    myButt.setMargin(new Insets(1,1,1,1));
    Ho provato ad eliminare una delle tre cose o due delle tre provando un po tutte le combinazioni ma il risultato migliore si ottiene lasciandole tutte e tre (per i pulsanti con sia icona che testo).

    Ciao
    Il centro dell'attenzione non è sempre un buon posto in cui trovarsi

    Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.