Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Выдиление строки таблицы цветом 
:(
    Опции темы
Vitello
Дата 21.3.2008, 20:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 16.10.2006

Репутация: нет
Всего: нет



Доброго времени суток.  Проблема, в общем-то, тривиальная, но решения ее я не нашел :(

У меня есть таблица, в зависимости от данных одного столбика мне надо "покрасить" строку в соответствующий цвет.

Это должно выглядеть приблизительно как стандартное выделение строки.
PM MAIL   Вверх
dorogoyIV
Дата 21.3.2008, 20:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1503
Регистрация: 26.3.2007

Репутация: 36
Всего: 46



не совсем я понял, что тебе надо, ну вот примерно:
Код

import javax.swing.*;
import java.awt.event.*;
import java.awt.*;

class VitelloTable extends JFrame
{
 JTable jt=new JTable(1, 5);
 JButton red, green, blue;

 VitelloTable()
 {
  setBounds(100,100,400,300);
  setLayout(new FlowLayout());

  red=new JButton("Red");
  green=new JButton("Green");
  blue=new JButton("Blue");
  add(red);
  add(green);
  add(blue);

  add(jt);

  red.addActionListener(new ActionListener()
  {
   public void actionPerformed(ActionEvent e)
   {
    jt.setRowSelectionInterval(0, 0);
    jt.setSelectionBackground(Color.red);
   }
  });
 }

 public static void main(String [] args)
 {
  JFrame f=new VitelloTable();
  f.setVisible(true);
  f.setDefaultCloseOperation(3);
 }
}


ну я думаю ничего сложного...
слушаешь изменения в таблице, и меняешь цвет
PM MAIL   Вверх
Vitello
Дата 21.3.2008, 21:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 16.10.2006

Репутация: нет
Всего: нет



Пасибо - то что нужно smile

Я было залез в дебри. Всякие рендереры вешал и т.д. А тут так все просто, аж стыдно.
Просто в документации не заметил чудо-метода

Код

setSelectionBackground(Color.red);


Ниче - буду учиться
PM MAIL   Вверх
Vitello
Дата 24.3.2008, 14:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 16.10.2006

Репутация: нет
Всего: нет



метод setSelectionBackground(Color color) устанавливает цвет выделения. А мне надо чтоб грид расскрасился без выделения. Ну, выдиление - ясное дело отдельным цветом
PM MAIL   Вверх
dorogoyIV
Дата 24.3.2008, 15:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1503
Регистрация: 26.3.2007

Репутация: 36
Всего: 46



кажется здесь все понятно будет  smile  :
Код

import javax.swing.*;
import java.awt.*;
import javax.swing.table.*;

class VitelloTable extends JFrame
{
 JTable jt=new JTable(10, 4);

 VitelloTable()
 {
  setBounds(100,100,400,300);
  setLayout(new FlowLayout());

  add(new JScrollPane(jt));
  for(int i=0; i < jt.getColumnCount(); i++)
  {
   TableColumn column=jt.getColumnModel().getColumn(i);

   if(i % 2 == 0)
    column.setCellRenderer(new VitelloRenderer());
  }
 }

 public static void main(String [] args)
 {
  JFrame f=new VitelloTable();
  f.setVisible(true);
  f.setDefaultCloseOperation(3);
 }
}

class VitelloRenderer extends JPanel
                      implements TableCellRenderer
{
 public Component getTableCellRendererComponent(JTable table,
                    Object value, boolean isSelected,
                    boolean hasFocus, int row, int column)
 {
  setBackground(Color.blue);
  if(isSelected)
   setBackground(Color.red);
  return this;
 }
}

PM MAIL   Вверх
Vitello
Дата 24.3.2008, 15:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 16.10.2006

Репутация: нет
Всего: нет



пасиба. понятноsmile
PM MAIL   Вверх
niasilil
Дата 25.3.2008, 03:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 325
Регистрация: 4.6.2007
Где: USA

Репутация: 1
Всего: 9



я вот этот пользовал несколько раз:
http://forum.vingrad.ru/forum/topic-77027/...1009090/45.html


--------------------
SCJP 5.0, SCJD
PM MAIL   Вверх
Marusja
Дата 27.3.2008, 11:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мыслитель



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 27.4.2007
Где: Нижний Новгород

Репутация: нет
Всего: 11



У меня похожая проблема. Ваш пример хорош, но у меня компонент JdbTable, он не разрешает сделать метод setValeuAt, т.к. база данных закрыта от редактирования. Не знаю что делать, может кто подскажет.
PM MAIL Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   jk1
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема »


 




[ Время генерации скрипта: 0.0938 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.