Java - Kolory i ułożenie tekstu w jTable.

0

Witam.

Po przeczytaniu różnych dziwnych rzeczy o zmianie koloru poszczególnych komórek w jTable a także pozycji tekstu wewnątrz niej ZAMARŁEM.
Niby wszystko ładnie i pięknie napisane ale nie działa.
Proszę więc o pomoc w tej sprawie.
Dokładnie mówiąc:
-chcę zmienić kolor wybranych komórek - najlepiej bez żadnych renderów.
-ustawić położenie tekstu (lewo, prawo, środek) w poszczególnych kolumnach osobno. Czyli dla każdej inaczej, ponieważ znalezione przeze mnie rozwiązania zmieniają ustawienia dla wszystkich kolumn.

 DefaultTableCellRenderer centerRenderer = new DefaultTableCellRenderer();
centerRenderer.setHorizontalAlignment( JLabel.CENTER );
table.getColumnModel().getColumn(0).setCellRenderer( centerRenderer );

oraz

 DefaultTableCellRenderer centerRenderer = new DefaultTableCellRenderer();
centerRenderer.setHorizontalAlignment( JLabel.CENTER );
table.setDefaultRenderer(String.class, centerRenderer);

Pozdrawiam

0

Standardowo obiekt JTable dopasowuje wyrównanie do klasy związanej z kolumną (String.class do lewej, Integer.class do prawej, Boolean.class nie pamiętam, chyba centrowanie). Jeśli Ci to nie odpowiada, to pętla po kolumnach i dla każdej kolumny własny renderer.
Masz przykład renderera zmieniającego kolor

    class ColorColumnRenderer implements TableCellRenderer
    {
        //------------------------
        public Component getTableCellRendererComponent(JTable t,Object value,boolean selected,boolean hasFocus,int row,int col)
        {
            JLabel header = new JLabel("");
            header.setOpaque(true);
            header.setBackground((Color)value);
            return header;
        }
    }

W modelu w odpowiedniej kolumnie jest przechowywany kolor. Efekt planets.png

1 użytkowników online, w tym zalogowanych: 0, gości: 1