NamedColor c = (NamedColor) value;
public Component getListCellRendererComponent(
class ComboRenderer extends JLabel implements ListCellRenderer {
Далее был создан класс отвечающий за визуализацию элементов списка:
public NamedColor(Color color, String name) {
class NamedColor extends Color {
Данная проблема была решена следующим образом. Был создан класс, состоящий из двух полей, объекты типа Color и String, в котором был переопределен метод toString():
Так как при предложенном методе заполнения таблицы не исключена вероятность появления дух одинаковых цветов, или разных оттенков одного цвета в столбце, то необходимо как-то их изменять. Из имеющихся стандартных решений, наиболее предпочтительным, является вариант с использованием объекта JСolorChooser, который обладает довольно мощными возможностями по настройке параметров цвета. Однако я посчитал, что в моем случае необходимо использовать более простое решение, например поле со списком (объект JComboBox) элементами которого были бы объекты Color. Однако в этом случае я столкнулся с проблемой вывода цвета в список, так как вывод элемента списка осуществляется методом toString().
Далее объект Color заносится в ячейку таблицы, и для того, чтобы в ячейке был показан цвет, необходимо переопределить метод setValue(), класса DefaultTableCellRenderer, который отвечает за непосредственный вывод содержимого ячейки на экран. Данная задача является довольно тривиальной и ее решение можно найти во многих источниках.
Color cl = new Color((int)(Math.random()*256),
Заполнение таблицы происходит в цикле, и цвет задается следующим образом:
Обеспечить возможность изменения цвета заливки.
Отображать соответствующий цвет заливки в ячейке таблицы;
Как видно из рис1. данные помещаются в объект JTable, поэтому при отображении цвета уровня в таблице необходимо решить следующие задачи:
Рисунок 1. Задание начальных параметров для построения линий уровня
Данная задача возникла при построении графика полиномиальной функции на симлпекс - плане для заданных значений отклика, которые необходимо для удобства выделять различными цветами. Исходными данными для построения являются: количество уровней отклика функции, значение по каждому уровню и цвет которым необходимо отображать соответствующий уровень на симплекс плане. Эти параметры задаются в окне диалога (см. рис. 1) и передаются в соответствующий класс, который выполняет построение.
Разработан алгоритм и предложено программное решение средствами языка Java2, заливки и отображения цвета в ячейке таблицы объекта библиотеки Swing JTable. Предложен способ решения данной задачи с использованием "легковесного" компонента JcomboBox.
Реализация возможности выбора цвета в ячейке JTable с помощью JComboBox
Java: СтатьиРеализация возможности выбора цвета в ячейке JTable с помощью JComboBox
Реализация возможности выбора цвета в ячейке JTable с помощью JComboBox
Комментариев нет:
Отправить комментарий