Come faccio ad ottenere il nome della piattaforma su cui gira un applicazione java??
Ciao
Come faccio ad ottenere il nome della piattaforma su cui gira un applicazione java??
Ciao
Nulla, ma e' sempre qualcosa.
Con:
ottieni un oggetto di tipo LookAndFeel. Il metodo getName, ti da' il nome del L&F.codice:UIManager.getLookAndFeel();
Folle e' l'uomo che parla alla luna.
Stolto chi non le presta ascolto.
Sono pienamente d'accordo, ma come faccio ad impostare il LookAndFeel in base alla piattaforma in cui gira?codice:UIManager.LookAndFeelInfo looks[] = UIManager.getInstalledLookAndFeels(); try{ UIManager.setLookAndFeel(looks[2].getClassName()); SwingUtilities.updateComponentTreeUI(this); }catch(Exception e){ e.printStackTrace(); }
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.
devi recuperare la System.property che cerchi; forse la più adeguata è os.name:
Qui trovi l'elenco:codice:System.getProperty("os.name");
http://java.sun.com/docs/books/tutor...roperties.html
Fai così:
Ciao.codice:public static void main(String [] args) { try { UIManager.setLookAndFeel( UIManager.getSystemLookAndFeelClassName() ); } catch (Exception e) { e.printStackTrace(); } ... // Avvia la tua applicazione }
"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
Ok adesso funziona!!!!
Nulla, ma e' sempre qualcosa.
Ah ciao Lele!! non avevo visto che eri tu!!
Nulla, ma e' sempre qualcosa.
Funziona anche con System.getProperty("os.name");
e con una condizione if imposto il LookAnd Feel
ma credo che sia meglio usare
perche' cosi' e' indipendente dai nomi da utilizzare nel sorgentecodice:UIManager.setLookAndFeel( UIManager.getSystemLookAndFeelClassName() );
e' ottieni in maniera piu' efficiente il LookAndfeel appropriato.
Ciao
Nulla, ma e' sempre qualcosa.
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:
Ma cosi ottengo il LookAndFeel del' os corrente o quello di default di java.codice:MyApp app = null; app.setDefaultLookAndFeelDecorated(True/*o false*/); app = new myApp();
Da notare che tale metodo va applicato all'handle prima che venga istanziato altrimenti non funziona.
O forse bisogna applicare
anche se viene prima istanziato??codice:SwingUtilities.updateComponentTreeUI(app);
Ora provo....
Nulla, ma e' sempre qualcosa.
Niente da fare devo applicare il metodo prima di istanziare la mia classe!
Nulla, ma e' sempre qualcosa.