Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13

Discussione: [java]LookAndFeel

  1. #1

    [java]LookAndFeel

    Come faccio ad ottenere il nome della piattaforma su cui gira un applicazione java??
    Ciao
    Nulla, ma e' sempre qualcosa.

  2. #2
    Con:

    codice:
    UIManager.getLookAndFeel();
    ottieni un oggetto di tipo LookAndFeel. Il metodo getName, ti da' il nome del L&F.
    Folle e' l'uomo che parla alla luna.
    Stolto chi non le presta ascolto.

  3. #3
    codice:
            UIManager.LookAndFeelInfo looks[] = UIManager.getInstalledLookAndFeels();
            try{           
                UIManager.setLookAndFeel(looks[2].getClassName());
                SwingUtilities.updateComponentTreeUI(this);
            }catch(Exception e){
                e.printStackTrace();
            }
    Sono pienamente d'accordo, ma come faccio ad impostare il LookAndFeel in base alla piattaforma in cui gira?
    Con l'istruzione sopra sono io a dire di applicare il look[2]
    corrispondente a windovs ma se si trovasse a girare su unix credo che gli verrebbe da vomitare....
    Nulla, ma e' sempre qualcosa.

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    328
    devi recuperare la System.property che cerchi; forse la più adeguata è os.name:


    codice:
    System.getProperty("os.name");
    Qui trovi l'elenco:
    http://java.sun.com/docs/books/tutor...roperties.html

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Fai così:
    codice:
    public static void main(String [] args) {
       try {
          UIManager.setLookAndFeel( UIManager.getSystemLookAndFeelClassName() );
       } catch (Exception e) { e.printStackTrace(); }
       ... // Avvia la tua applicazione
    }
    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  6. #6
    Ok adesso funziona!!!!
    Nulla, ma e' sempre qualcosa.

  7. #7
    Ah ciao Lele!! non avevo visto che eri tu!!
    Nulla, ma e' sempre qualcosa.

  8. #8
    Funziona anche con System.getProperty("os.name");
    e con una condizione if imposto il LookAnd Feel
    ma credo che sia meglio usare
    codice:
     UIManager.setLookAndFeel( UIManager.getSystemLookAndFeelClassName() );
    perche' cosi' e' indipendente dai nomi da utilizzare nel sorgente
    e' ottieni in maniera piu' efficiente il LookAndfeel appropriato.
    Ciao
    Nulla, ma e' sempre qualcosa.

  9. #9
    Pero' c'e' una cosa da dire anche se imposto volontariamente il LookAndFeel cio' che e' la barra del titolo rimane invariata e visualizzata in base al os corrente.
    Ho trovato che si puo' modificare la barra del titolo con:
    codice:
    MyApp app = null;
    app.setDefaultLookAndFeelDecorated(True/*o false*/);
    app = new myApp();
    Ma cosi ottengo il LookAndFeel del' os corrente o quello di default di java.
    Da notare che tale metodo va applicato all'handle prima che venga istanziato altrimenti non funziona.
    O forse bisogna applicare
    codice:
    SwingUtilities.updateComponentTreeUI(app);
    anche se viene prima istanziato??
    Ora provo....
    Nulla, ma e' sempre qualcosa.

  10. #10
    Niente da fare devo applicare il metodo prima di istanziare la mia classe!
    Nulla, ma e' sempre qualcosa.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.