powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Раскраска ячеек таблици
13 сообщений из 13, страница 1 из 1
Раскраска ячеек таблици
    #33436386
Фотография peter6636
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть табличка, в ней данные, некоторые ячейки могут быть выделены определенным цветом в зависимости от того проверенная ли информация находиться в ней или нет.
Не знаю как мне это реализовать в базе, под каждую ячейку нельзя же заводить поле, которое будет хранить ее цвет, это ж гемор какой будет.
Как быть.
Спасибо.
...
Рейтинг: 0 / 0
Раскраска ячеек таблици
    #33437179
Фотография hinotf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я предлагаю так: вначале написать класс, реализующий интерфейс DefaultCellRenderer, например

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
 package  utils;

 import  java.awt.Component;

 import  javax.swing.JButton;
 import  javax.swing.JTable;
 import  javax.swing.UIManager;
 import  javax.swing.table.TableCellRenderer;

 public   class  JButtonCellRenderer
   extends  JButton
   implements  TableCellRenderer
{

  JButton jbutton =  new  JButton();
  
   public  JButtonCellRenderer(JButton jbutton)
  {
    setOpaque(true);
     this .jbutton = jbutton;
  }

   public  Component getTableCellRendererComponent(JTable table, Object value,  boolean  isSelected,  boolean  hasFocus,  int  row,  int  column)
  {
       if  (isSelected)
      {
        setForeground(table.getSelectionForeground());
        setBackground(table.getSelectionBackground());
      }
       else 
      {
        setForeground(table.getForeground());
        setBackground(UIManager.getColor("Button.background"));
      }
      setText((value ==  null )? "": value.toString());
       return  jbutton;
  }
}

здесь, правда, ещё и кнопка есть в ячейке, но вроде и так понятно. В классе цвет возвращать в зависимости от данных (метод getValueAt).
А потом назначить его методом JTable.setDefaultRenderer

Nai tiruvantel ar varyuvantel i Valar tieyanna nu vilya
...
Рейтинг: 0 / 0
Раскраска ячеек таблици
    #33437411
Фотография peter6636
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это немного не то, ты говоришь авторВ классе цвет возвращать в зависимости от данных , но данные то могут быть разными, а могут вообще там не быть.
Пример: стоит число 34, но мы не знаем что там точно, может не 34, а 43 или может вообще там должен быть мэил юзера указан.Вот эту я чейку мне и нужно покрасить в другой цвет, который(цвет) бы свидетельствовал о том, что нужно перепроверить данные в этой ячейке.
...
Рейтинг: 0 / 0
Раскраска ячеек таблици
    #33437443
Sergey Karpenkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
peter6636Есть табличка, в ней данные, некоторые ячейки могут быть выделены определенным цветом в зависимости от того проверенная ли информация находиться в ней или нет.
Не знаю как мне это реализовать в базе, под каждую ячейку нельзя же заводить поле, которое будет хранить ее цвет, это ж гемор какой будет.
Как быть.
Спасибо.
Что-то не очень понятна задача. Если просто раскрасить табличку (SWING) то это конечно лучше всего свой CellRenderer делать. Если вопрос о том как организовать хранение информации о достоверности данных в БД, то это вопрос немного другой. Можно отвести поле в БД и хранить там битовую маску ну естествено порядок полей должен быть строго определён. Можно завести BLOB и сериализовать туда некий Java объект с информацией о полях, но как бы это имхо не самое лучшее. Если информация сугубо текстовая, то можно включать в строку некий служебный символ который не показывается на экране что-то типа ecs - последовательностей. Вообщем вариантов то гора.
...
Рейтинг: 0 / 0
Раскраска ячеек таблици
    #33437469
Фотография peter6636
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторможно включать в строку некий служебный символ который не показывается на экране что-то типа ecs - последовательностей
вот этот вот вариант похоже мне и нужен, как его реализовать, т.е. подробнее про этот символ
...
Рейтинг: 0 / 0
Раскраска ячеек таблици
    #33437519
GMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторможно включать в строку некий служебный символ который не показывается на экране что-то типа ecs - последовательностейА чем это лучше отдельного поля с признаком в таблице?
...
Рейтинг: 0 / 0
Раскраска ячеек таблици
    #33437569
Фотография peter6636
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GMax авторможно включать в строку некий служебный символ который не показывается на экране что-то типа ecs - последовательностейА чем это лучше отдельного поля с признаком в таблице?
есть строка, в ней 6 колонок, каким макаром я поцеплю признак на, например,2,4 и 5 ячейки.
...
Рейтинг: 0 / 0
Раскраска ячеек таблици
    #33437602
Sergey Karpenkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GMax авторможно включать в строку некий служебный символ который не показывается на экране что-то типа ecs - последовательностейА чем это лучше отдельного поля с признаком в таблице?
Ну на самом деле вариант битовых масок мне тоже нравится больше, хотя конечно не без недостатков. Самый главный плюс в нём то что будет работать с любыми типами данных в БД а не только со строковыми. Но если в таблице только текст то и вариант со спец-символом тоже будет работать. Ну а как это реализовать вопрос по моему почти риторический :) Проверяешь строку на наличие этого символа если есть красишь в красный если нет в зелёный от и всё ;) При подтверждении символ из строки удаляется и строка записывается в БД. Чтоб не искать его по всей строке лучше маркировать им скажем начало строки или конец без разницы, а показывать строку либо начиная со 2й позиции либо с 1й до предпоследней в зависимости от положения маркера. It's easy :)
...
Рейтинг: 0 / 0
Раскраска ячеек таблици
    #33437617
GMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
peter6636есть строка, в ней 6 колонок, каким макаром я поцеплю признак на, например,2,4 и 5 ячейки.Если число ячеек конечно и известно, а признак может принимать значение 0 или 1, то просто. С двоичной системой счисления знаком, например? Если не только 1 и 0, то чуть сложнее, но тоже решаемо.
...
Рейтинг: 0 / 0
Раскраска ячеек таблици
    #33437641
Sergey Karpenkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
peter6636 GMax авторможно включать в строку некий служебный символ который не показывается на экране что-то типа ecs - последовательностейА чем это лучше отдельного поля с признаком в таблице?
есть строка, в ней 6 колонок, каким макаром я поцеплю признак на, например,2,4 и 5 ячейки.
Оч просто 00011010 в десятичной системе это ээээ..... 26 вроде ;) всё сохраняешь в бд значение 26 при проверки разворачиваешь в двоичное представление и проверяешь установку отдельных битов.
...
Рейтинг: 0 / 0
Раскраска ячеек таблици
    #33437736
Фотография peter6636
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Т.е. если значение ячейки равно "xxxx", то к нему я должен буду добавить 26, т.е. в результате "xxxx26", а если значение "26", то будет "2626", но если так, то это уже гемор
...
Рейтинг: 0 / 0
Раскраска ячеек таблици
    #33437758
Sergey Karpenkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
peter6636Т.е. если значение ячейки равно "xxxx", то к нему я должен буду добавить 26, т.е. в результате "xxxx26", а если значение "26", то будет "2626", но если так, то это уже гемор
нет флаги храняться в отдельном поле.
...
Рейтинг: 0 / 0
Раскраска ячеек таблици
    #33438054
GlukOza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 peter6636:

Хоть ты мне и нагрубил в моем топике, предлагаю как другу вот такую интересную ссылку:

http://www.crionics.com/products/opensource/faq/swing_ex/JTableExamples4.html
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Раскраска ячеек таблици
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]