Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [Java] Allineamento testo in una JTable

    Come faccio ad impostare l'allineamento del testo in una JTable?

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    71
    Non ci ho mai provato, ma secondo me basta che definisci la struttura della tabella attraverso un modello (TableModel), nel tutorial della sun trovi alcuni esempi, nel modello definisci la tua colonna come una JTextField, in questo modo tramite getValueAt puoi modificare il tuo componenete come se fosse uncampo di testo, e così puoi impostargli anche l'orientamento.

  3. #3
    devi definire un tuo TableCellRenderer per la tabella. Crei una classe che estende DefaultTableCellRenderer (che a sua volta estende JLabel) e ridefinisci il metodo getTableCellRendererComponent:

    codice:
    import java.awt.Component;
    import javax.swing.JTable;
    import javax.swing.table.DefaultTableCellRenderer;
    
    
    public class MyTableCellRenderer extends DefaultTableCellRenderer{
          
        public Component getTableCellRendererComponent(JTable table,Object value, boolean isSelected, boolean hasFocus, int row, int column){
            
            super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
    
            setHorizontalAlignment( CENTER );
             
            return this;
        }
    }
    e settarlo poi così:
    codice:
    MyTableCellRenderer renderer = new MyTableCellRenderer();
    tuaTabella.setDefaultRenderer(Object.class, renderer);
    Al mio segnale... scatenate l'inferno!

  4. #4
    @R@ve M@ster: Avevo già provato con un TableCellRenderer ma non ci riuscivo. Ora col tuo codice ci sono riuscito!

    Grazie ad entrambi!

  5. #5
    Ho un'atra domanda. La mia tabella concettualmente non ha delle intestazioni di colonna.. se metto la table all'interno di una JScrollPane però non riesco a nasconderle. Come faccio a non visualizzare le intestazioni di colonna?

  6. #6
    Ho risolto così:
    codice:
            JTableHeader th=table.getTableHeader();
            th.setReorderingAllowed(false);
            th.setResizingAllowed(false);
            th.setPreferredSize(new Dimension(0, 0));

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.