Хорошо, я должен быть совершенно безмозглым, но я не могу реализовать код, необходимый для установки (постоянно) цвета фона выбранной (нажатой) ячейки в моем JTable. Я прочитал большинство ответов на этом сайте, но до сих пор не понимаю.
Я использую метод подготовленного Renderer(), но не понимаю, почему он не работает?
table.addMouseListener(
new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent m) {
row = table.getSelectedRow();
column = table.getSelectedColumn();
}
}
);
table = new JTable(data, columnNames) {
public Component prepareRenderer(TableCellRenderer rend, int r, int k) {
Component g = super.prepareRenderer(rend, row, column);
g.setBackground(Color.BLUE);
return g;
}
};
Я так понимаю, что prepareRenderer берет определенную ячейку из таблицы в качестве компонента, а затем позволяет мне изменить свойства этого компонента. Но даже если я напишу:
Component g = super.prepareRenderer(rend, 1, 1);
g.setBackground(Color.BLUE);
return g;
он просто рисует всю таблицу, а не ячейку в строке = 1, столбце = 1??? Я просто не понимаю...