Home / Programmazione / Java / Java look & feel
Mattepuffo

Java look & feel

Java look & feel

Se usate un ide tipo NetBeans, già avete la possibilità di cambiare look & feel alle vostre applicazioni in maniera semplice e veloce.

Solo che di default i temi a disposizione non sono bellissimi e magari ne trovate qualcuno in rete che vi piace di più e volete impostarlo come predefinito.

Io ad esempio ho scaricato il look da JTattoo; basta scaricare il file jar e aggiungerlo alla vostra applicazione per usare i vari look che vedete qua.

Sennò anche JGoodies ne mette uno carino a disposizione.

In questo modo avete un tema per ogni sistema.

Per impostare da codice un look preciso dobbiamo usare la classe UIManager.

E' la classe predisposta alla gestionde dei look & feel. 

Vediamo come modificare il tema:

public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    UIManager.setLookAndFeel("com.jtattoo.plaf.hifi.HiFiLookAndFeel");
                    new Main().setVisible(true);
                } catch (ClassNotFoundException ex) {
                    JOptionPane.showMessageDialog(null, ex.getMessage());
                } catch (InstantiationException ex) {
                    JOptionPane.showMessageDialog(null, ex.getMessage());
                } catch (IllegalAccessException ex) {
                    JOptionPane.showMessageDialog(null, ex.getMessage());
                } catch (UnsupportedLookAndFeelException ex) {
                    JOptionPane.showMessageDialog(null, ex.getMessage());
                }
            }
        });
    }

Questo è il main del mio JFrame.

Prima di avviare il frame (la riga new Main().setVisible(true);) impostiamo il look usando il metodo setLookAndFeel della classe UIManager, al quale passiamo una stringa con il nome del package e il look specifico (JTattoo se avete visto ne ha diversi).

Il tutto bello circondato da ben 4 catch.

Basta questo per impostare un look di default.

Se volete permettere di cambiarlo a programma già avviato dovete creare un metodo che ne imposta un altro.

Ricordatevi che se programmate per qualcuno dovete usare un look utilizzabile, non il mio ad esempio che è tutto nero.