Home / Programmazione / Java / Impostare l'altezza delle righe in una JTable
Mattepuffo

Impostare l'altezza delle righe in una JTable

Impostare l'altezza delle righe in una JTable

In questi giorni ho ripreso in mano Java, e nello specifico sto lavorando molto con le JTable.

Oggi vi svelo due modi per impostare l'altezza delle righe.

Il primo modo agisce direttamente sulla tabella interessata.

Nel costruttore del JFrame, dopo l'inizializzazione della JTable:

tbl.setRowHeight(20);

Nel caso di una sola tabella, o nel caso in cui ogni tabella ha una proprio impostazione, possiamo procedere in questo modo.

Nel caso in cui si hanno più JTable che devono avere la stessa impostazione, questo è scomodo perchè questo comando andrebbe ripetuto per ogni tabella.

Possiamo, però, agire a livello globale usando UIManager.

Con questa classe possiamo gestire il look and feel corrente.

Nel main, e non nel costruttore:

    public static void main(String args[]) {
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
            UIManager.put("Table.rowHeight", 20); // ALTEZZA RIGHE
        } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | javax.swing.UnsupportedLookAndFeelException ex) {
            JOptionPane.showMessageDialog(null, ex.getMessage());
        }

        java.awt.EventQueue.invokeLater(new Runnable() {
            @Override
            public void run() {
                new FrameMain().setVisible(true);
            }
        });
    }

Come vedete ho usato il metodo put; come primo argomento gli passo l'oggetto che voglio impostare, come secondo il valore.

A questo punto di default ogni riga di ogni JTable avrà altezza 20 (considerate che il default dovrebbe essere 16).

Ciao!!