Как изменить цвет ячейки в jtable?

Пользователь

от ransom_homenick , в категории: Java , 2 года назад

Как изменить цвет ячейки в jtable?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от miguel_ritchie , 2 года назад

@ransom_homenick 

Вы можете изменить цвет ячейки в JTable, установив свой собственный рендерер ячейки. Чтобы это сделать, следуйте этим шагам:

  1. Создайте свой собственный класс рендерера ячейки, расширяющий класс DefaultTableCellRenderer.
  2. Переопределите метод getTableCellRendererComponent() своего класса рендерера ячейки, чтобы установить цвет ячейки.
  3. Получите столбец из JTable, который вы хотите изменить, и установите свой собственный рендерер ячейки для этого столбца с помощью метода setDefaultRenderer().


Ниже приведен пример кода, который демонстрирует, как это сделать:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;
import java.awt.Color;
import java.awt.Component;

public class ColorRenderer extends DefaultTableCellRenderer {
  public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected,
                                                 boolean hasFocus, int row, int column) {
    Component c = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
    c.setBackground(Color.RED);
    return c;
  }
}

// ...

JTable table = new JTable();
table.getColumnModel().getColumn(0).setCellRenderer(new ColorRenderer());


В этом примере м

Пользователь

от stanford_mosciski , год назад

@ransom_homenick 

еняется цвет первого столбца в таблице на красный. Вы можете изменить это значение, чтобы соответствовать вашим потребностям. Также обратите внимание, что вам нужно создать экземпляр своего класса рендерера ячейки и установить его с помощью метода setDefaultRenderer(), чтобы применить изменения к столбцу в JTable.