Look & Feel nativo en Windows con Swing

Una de las ventajas que tiene Java respecto a otros sistemas es la capacidad de adaptarse a los diferentes sistemas operativos, y de adaptarse a las diferentes interfaces usando Swing, aunque si bien es cierto que la aplicación funciona, no lo hace todo lo “bonito” que queremos, al menos eso me ocurrió a mí, sin embargo sí que podemos conseguir una aplicación que “de el pego” haciendo lo siguiente:

  • Detectar qué sistema operativo estamos ejecutando.
  • Aplicar el tema correspondiente a nuestra aplicación.

Lo que en código se traduce a:

String os = System.getProperty("os.name").toLowerCase();
String name = "com.sun.java.swing.plaf.windows.WindowsLookAndFeel";
if (os.indexOf("win") >= 0) {
     try {
          UIManager.setLookAndFeel(name);
     }
     catch (Exception e) {}
}

Lo que hemos hecho ha sido, obtener el identificador del sistema operativo y transformarlo a minúsculas:

String os = System.getProperty("os.name").toLowerCase();

Una vez hecho esto, lo comparamos con el identificador deseado (en este caso, “win”):

if (os.indexOf("win") >= 0) {}

Finalmente, en caso de ser correcto, aplicamos el tema del sistema:

try {
     UIManager.setLookAndFeel(name);
}
catch (Exception e) {}

Es importante destacar que esta última sentencia ha de ir rodeada por un try … catch, ya que en caso contrario el compilador nos devolverá un error.

Espero que os haya sido tan útil o más de lo que me fue encontrar esto en su momento

Para más información: Documentación de Java (en inglés)

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s