Como posso definir minha aparência de sistema Java para os aplicativos JNLP?
-
20-09-2019 - |
Pergunta
Estou executando o Gnome no OpenSuse. Como resultado, minha aparência de sistema é GTK+, que tem numerosos problemas feios (veja alguns deles aqui).
Durante o desenvolvimento do meu aplicativo Swing, posso executar o cliente na linha de comando ou IDE e especificar o parâmetro VM
-Dswing.systemlaf = com.sun.javax.swing.plaf.metal.crossplatformlookAndFeel
para fazer parecer bom.
Mas não sei como forçar o Java Webstart a usar esse parâmetro VM quando inicio o aplicativo através do JNLP.
editar:Isso não tem nada a ver com a capacidade programática de definir a aparência. O aplicativo faz isso corretamente.
Minha pergunta é como dizer ao Java Webstart para usar um parâmetro VM "swing.systemlaf" quando executar o arquivo myapp.jnlp.
Solução
O Java Web Start permite que certos sinalizadores da JVM sejam definidos com o atributo java-vm-ARGS do elemento J2SE, mas você pode usar
<property name="key" value="overwritten"/>
e definir propriedades. estará disponível através dos métodos System.GetProperty e System.SetProperties
http://java.sun.com/j2se/1.5.0/docs/guide/javaws/develoersguide/syntax.html#resources
Outras dicas
Você sempre pode usar UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
Eu sei que esse assunto é bastante antigo agora, mas pode ser útil.
Você pode forçar a aparência com a seguinte variável de ambiente:
export _JAVA_OPTIONS="-Dswing.systemlaf=com.sun.javax.swing.plaf.metal.CrossPlatformLookAndFeel"
Eu acredito que você pode configurar propriedades no webstart usando o -userConfig
opção de linha de comando. Os Diadores do Webstart fazem parte da instalação do JRE e não fazem parte do aplicativo.