Estoy desarrollando una aplicación de escritorio con Java Swing para mi uso personal. Necesito un aspecto atractivo para mi aplicación. ¿Cómo puedo hacerlo usando Java o una API de terceros?
Estoy desarrollando una aplicación de escritorio con Java Swing para mi uso personal. Necesito un aspecto atractivo para mi aplicación. ¿Cómo puedo hacerlo usando Java o una API de terceros?
Respuestas:
Hay muchas posibilidades para LaFs:
java -Dswing.defaultlaf=javax.swing.plaf.nimbus.NimbusLookAndFeel -jar MyApp.jar
-Dswing.defaultlaf=javax.swing.plaf.metal.MetalLookAndFeel
parámetro a la invocación de Java.
Puede probar L&F que estoy desarrollando: WebLaF
combina tres partes necesarias para el desarrollo exitoso de la interfaz de usuario:
Binarios: https://github.com/mgarin/weblaf/releases
Fuente: https://github.com/mgarin/weblaf
Licencias: GPLv3 y Comercial
Algunos ejemplos que muestran cómo se ven algunos de los componentes de WebLaF:
La razón principal por la que comencé con un L&F totalmente nuevo es que la mayoría de los L&F existentes carecen de flexibilidad: en la mayoría de los casos, no puede cambiar el estilo (solo puede cambiar algunos colores y activar / desactivar algunos elementos de la IU en el mejor de los casos) y / o solo hay formas inconvenientes de hacerlo. Es aún peor cuando se trata de estilos de componentes personalizados / de terceros: no se parecen a otros componentes diseñados por algunos L&F específicos o incluso totalmente diferentes, lo que hace que su aplicación se vea poco profesional y desagradable.
Mi objetivo es proporcionar un L&F totalmente personalizable con un paquete de componentes adicionales ampliamente conocidos y útiles (por ejemplo: selector de fecha, tabla de árbol, paneles acoplables y de documentos y muchos otros) y administradores y utilidades adicionales útiles, que reducirán cantidad de código requerida para integrar rápidamente WebLaF en su aplicación y ayudar a crear impresionantes UI usando Swing.
También puede usar JTattoo ( http://www.jtattoo.net/ ), tiene un par de temas geniales que se pueden usar.
Simplemente descargue el jar e impórtelo a su classpath, o agréguelo como una dependencia maven:
<dependency>
<groupId>com.jtattoo</groupId>
<artifactId>JTattoo</artifactId>
<version>1.6.11</version>
</dependency>
Aquí hay una lista de algunos de los temas interesantes que tienen disponibles:
Saludos
Aquí está el código que crea un cuadro de diálogo que permite al usuario de su aplicación cambiar la apariencia según los sistemas del usuario . Alternativamente, si puede almacenar el Look And Feel deseado en su aplicación, entonces podrían ser "portátiles", que es el resultado deseado.
public void changeLookAndFeel() {
List<String> lookAndFeelsDisplay = new ArrayList<>();
List<String> lookAndFeelsRealNames = new ArrayList<>();
for (LookAndFeelInfo each : UIManager.getInstalledLookAndFeels()) {
lookAndFeelsDisplay.add(each.getName());
lookAndFeelsRealNames.add(each.getClassName());
}
String changeLook = (String) JOptionPane.showInputDialog(this, "Choose Look and Feel Here:", "Select Look and Feel", JOptionPane.QUESTION_MESSAGE, null, lookAndFeelsDisplay.toArray(), null);
if (changeLook != null) {
for (int i = 0; i < lookAndFeelsDisplay.size(); i++) {
if (changeLook.equals(lookAndFeelsDisplay.get(i))) {
try {
UIManager.setLookAndFeel(lookAndFeelsRealNames.get(i));
break;
}
catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) {
err.println(ex);
ex.printStackTrace(System.err);
}
}
}
}
}