Обновление:
Я нашел частичное решение в этом ответе здесь , добавив следующий код:
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);
c.setBackground(new java.awt.Color(255, 72, 72));
return c;
}
}
И затем передав его моемуJTable объект:
jTable2.setDefaultRenderer(String.class, new CustomRenderer());
Это работает правильно, и теперь строки таблицы окрашены в красный цвет:
Единственное, что мне нужно знать сейчасэто то, как ограничить раскраску одной строкой и одной ячейкой.
После дальнейших исследований мне нужен метод setCellRender()
, чтобы я мог установить пользовательский рендеринг для конкретной ячейки, но этот методне существует.
Вопрос:
Я хочу создать визуальный компонент пошагового выполнения псевдокода.
Для этого я создал JTable, и теперь я ищу способы выделить каждую строку (или ячейку, поскольку имеется только один столбец), чтобы отобразить, какая строка выполняется.
IНиже приведен макет окончательного графического интерфейса.Как вы можете видеть на панели «Псевдокод», я выделил последнюю строку.
Пожалуйста, игнорируйте стрелки, они не связаны строго с вопросом.
Я начал реализовывать макет в Netbeans Matisse (это один из 3 алгоритмов).Однако я не знаю, как выделить одну строку code line 1
в компоненте JTable.
Было бы проще использовать компонент другого типа?
Позже мне также понадобитсячтобы можно было перекрасить отдельные ячейки, как показано в Таблице макета JPanel.Как это можно реализовать?