У меня есть Jtable с некоторыми значениями [все это строки]. Некоторые значения имеют перед ними «*», которые мне нужно окрашивать. Я могу покрасить те ячейки, у которых есть «*», используя Cell Renderer. Но после того, как я покрасил ячейку, мне нужно удалить «*», не меняя цвет ячейки. Когда я пытаюсь изменить значение ячейки, цвет меняется на WHITE. Что мне здесь не хватает. Вот кодКак визуализировать цвет ячейки после изменения значения ячейки Jtable
public SimpleTable()
{
JPanel panel = new JPanel();
setTitle("Colored JTable");
setBounds(400, 400, 400, 250);
panel.setLayout(new BoxLayout(panel, BoxLayout.PAGE_AXIS));
JTable table = new JTable(this.getRows(), this.getHeaders());
table.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
table.setDefaultRenderer(Object.class, new MyTableRenderer());
this.scrollPane = new JScrollPane(table);
panel.add(scrollPane);
getContentPane().add(panel);
}
Это мой мобильного визуализатор
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)
{
Component cellComponent = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
if(table.getValueAt(row, column).toString().contains("*"))
{
String v = table.getValueAt(row, column).toString().replace("*", "");
table.setValueAt(v, row, column);
cellComponent.setBackground(Color.YELLOW);
}
else
{
cellComponent.setBackground(Color.WHITE);
}
return cellComponent;
значение Ячейка должна быть изменена с цветом на месте. Можете ли вы показать пример того, как реализовать последнее решение? – SilentCoder
@SilentCoder: нет значения не нужно менять. ** ** значение ** необходимо изменить - большая разница. Для второго ответа это будет означать изменение класса, который составляет * строку * для данных таблицы таблицы, чтобы включить логическое поле. –
Вышеупомянутое решение не заменяет знак *. – SilentCoder