Это сводит меня с ума.Изменение цвета JTable
Я знаю, что для изменения форматирования ячеек таблицы с помощью JTable мне нужно использовать собственный рендеринг. Но я не могу это реализовать правильно.
Это моя текущая настройка:
public class MyClass
{
public static void main(String args[])
{
JTable myTable = new JTable(10, 10);
myTable.setDefaultRenderer ([I dont know what to put here], new CustomRenderer());
}
}
class CustomRenderer 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);
// Formatting
return c;
}
}
Что мне нужно использовать для первого параметра setDefaultRenderer
? API просто говорит «класс». Я понятия не имею, что туда положить.
Может ли кто-нибудь просто объяснить, в простейшем из терминов, как я могу это реализовать? Просьба привести пример того, как я могу изменить форматирование с помощью метода main()
.
Это, похоже, не работает для меня. Единственное, что я сделал, это вызвать метод setDefaultRenderer и создать класс CustomRenderer. Есть ли что-то еще, что мне нужно сделать, чтобы заставить это работать? –
Я получил его, используя Object.class вместо String.class. Не уверен, почему это было необходимо, потому что все мои данные были строками. Благодарим за помощь! –
Мне не разрешено изменять рендеринг внутри слушателя? Я хочу переформатировать таблицу при нажатии кнопки. –