JTable Выделить конкретную таблицу при обновлении - PullRequest
2 голосов
/ 28 февраля 2012

Я не могу найти ответ на этот вопрос в любом месте - я уверен, что это действительно просто, но я в замешательстве!

Я хочу изменить цвет фона ячейки при изменении значения.Я написал средство визуализации ячейки ниже:

public class CyanTableCellRenderer extends DefaultTableCellRenderer {

public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
    Component cell = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);

    cell.setBackground( Color.CYAN );
    return cell;
}
}

Я хочу передать значение ячейки из события в слушателе - чтобы выделить ячейку.

Может кто-нибудь помочь?

Ответы [ 2 ]

2 голосов
/ 29 февраля 2012

Как предлагает @mKorbel, prepareRenderer() может применить изменения к любому выбранному средству визуализации.Кроме того, вы можете настроить цвет на основе параметра isSelected вашего средства визуализации.

if (isSelect) {
    this.setBackground(Color.cyan);
}

Если вы просто хотите изменить цвет фона по умолчанию для выбранных ячеек, измените UIManager свойство Table.selectionBackground в начале вашей программы.Это повлияет на все таблицы во время выполнения.

UIManager.put("Table.selectionBackground", Color.cyan);
2 голосов
/ 28 февраля 2012

1) Я не понимаю, что i have a tableModelListener that works. делать с Renderer, может быть, вы должны упомянуть, что

2) вы можете использовать preparedRenderer, например

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...