как изменить цвет строк в JTable

У меня есть JTable 5x5, и я хочу написать процедуру setColorTable (таблица JTable, int Row, int Col), при вызове процедуры setColorTable она установит цвет фона для строки и столбца в таблице. каждый может мне помочь.

Спасибо огромное.


person user1752600    schedule 17.10.2012    source источник
comment
Пожалуйста, по крайней мере, попробуйте написать код и опубликуйте его, если у вас все еще есть проблема.   -  person dngfng    schedule 17.10.2012
comment
взгляните на a) учебник, на который ссылаются в вики по тегу Swing b) на старые QA, на которые ссылаются f.i. на боковой панели вопроса c) проведите небольшое исследование и попробуйте то, что вы найдете ...   -  person kleopatra    schedule 17.10.2012


Ответы (3)


Вам нужно будет создать собственный TableCellRenderer, который расширяет компонент Swing (JLabel, вероятно, удовлетворит ваши потребности, если вы хотите изменить только цвет) и реализует интерфейс TableCellRenderer.

Попробуйте прочитать это или JavaDoc

person mdhillman    schedule 17.10.2012

Вы можете написать свой собственный класс, расширив javax.swing.table.DefaultTableCellRenderer, а затем переопределить следующий метод по своему усмотрению.

public class MyNewCellRenderer extends DefaultTableCellRenderer
{
@Override
    public Component getTableCellRendererComponent(
            JTable table, Object object,
            boolean isSelected, boolean hasFocus,
            int row, int column)
    {
        JLabel label = (JLabel) super.getTableCellRendererComponent(table, object, isSelected, hasFocus, row, column);
  label.setBackground(Color.WHITE);
    }
}

Наконец, подключите TableCellRenderer;

jTable1 = new javax.swing.JTable()
{
    public TableCellRenderer getCellRenderer(int row, int column)
    {
        return new MyNewCellRenderer();
    }
};
person Anuruddha    schedule 17.10.2012
comment
в основном правильно, просто будьте осторожны: из-за ошибки в DefaultTableCellRenderer этого будет недостаточно - подробнее см. недавний контроль качества - person kleopatra; 17.10.2012

как изменить цвет строк в JTable

для окраски (Font, Foregroung, Backgroung, т.е.) вся строка есть prepareRenderer

person mKorbel    schedule 17.10.2012