воскресенье, 10 февраля 2013 г.

цвет ячейки таблицы java

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

Комментариев нет:

Отправить комментарий