Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
 Аватар для иван я
17 / 17 / 16
Регистрация: 15.12.2012
Сообщений: 536

Красный текст в таблице

20.03.2016, 16:51. Показов 2043. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
У меня есть таблица в которой есть какие то числа, мне нужно чтобы в определенном столбце цвет текста был красным. Как это сделать? Пошарив в гугле нашел вот такой метод
Java
1
2
3
4
5
6
7
8
9
10
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row,  int column) { 
   Component c = new JLabel("test");
  
   if (row==column){ 
       System.out.println(row+"+"+column); 
       c.setForeground(Color.red); 
       c.setBackground(Color.white); 
   }              
   return c; 
}
Не могу понять что надо передавать вот сюда Object value, и как бы я не пытался его исправить текст в таблице становится красным только в выделенной строке. в этом методе как я понимаю выделяли цвет текста по диагонали.

Добавлено через 17 минут
Вот так я обращаюсь к этому методу при нажатии на кнопку
Java
1
2
3
4
5
  for (int i = 0; i < ii; i++) {
                if (Double.parseDouble(jTable7.getValueAt(i, 29).toString()) < 0) {
                    getTableCellRendererComponent(jTable7, jTable7.getValueAt(i, 29), false, false, i, 29);
                }
            }
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.03.2016, 16:51
Ответы с готовыми решениями:

Красный текст на черном фоне (если вообще включится)
Добрый день! появилась такая проблема что комп перестал включаться...комп выключили вручную и больше не включается...кулеры заводятся и...

Что означает красный и синий текст-фон в представлении сравнения GitHub?
Скажите, пожалуйста, что означает красный и синий текст-фон в представлении сравнения GitHub?

Как сделать чтобы при нажатии одного чекбокса текст второго окрашивался в красный
HTML: &lt;td&gt;Стать:&lt;/td&gt; &lt;td&gt; &lt;input id=&quot;sexm&quot; type=&quot;checkbox&quot; name=&quot;sex&quot;...

8
50 / 49 / 25
Регистрация: 05.02.2016
Сообщений: 146
21.03.2016, 17:10
А надо чтобы красным становился цвет в выделенной ячейке?
Какое условие покраснения?
1
 Аватар для иван я
17 / 17 / 16
Регистрация: 15.12.2012
Сообщений: 536
21.03.2016, 17:15  [ТС]
Max_Sys, надо чтобы текст становился не в выделенной ячейке. Нужно чтобы во всем столбце цвет был красным
0
50 / 49 / 25
Регистрация: 05.02.2016
Сообщений: 146
21.03.2016, 17:34
Вот, например, покраснение первого столбца:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    class myCellRenderer extends DefaultTableCellRenderer {
 
        @Override
        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);
 
            if (column == 0) {
                c.setForeground(Color.red);
            } else {
                c.setForeground(jTable1.getForeground());
            }
 
            return c;
        }
 
    }
и где-нибудь в начале:
Java
1
    jTable1.setDefaultRenderer(Object.class, new myCellRenderer());
1
 Аватар для иван я
17 / 17 / 16
Регистрация: 15.12.2012
Сообщений: 536
21.03.2016, 19:39  [ТС]
Max_Sys, а как сделать так чтобы в этом столбце выделялись красным цветом только отрицательные вещественные числа?
0
50 / 49 / 25
Регистрация: 05.02.2016
Сообщений: 146
21.03.2016, 20:14
Очень просто, например, так:
Java
1
2
3
4
5
    if (column == 0 && value instanceof java.lang.Integer && ((int) value) < 0) {
        c.setForeground(Color.red);
    } else {
        c.setForeground(jTable1.getForeground());
    }
1
 Аватар для иван я
17 / 17 / 16
Регистрация: 15.12.2012
Сообщений: 536
21.03.2016, 21:26  [ТС]
Max_Sys, не работает
0
50 / 49 / 25
Регистрация: 05.02.2016
Сообщений: 146
21.03.2016, 22:18
Лучший ответ Сообщение было отмечено иван я как решение

Решение

Это потому, что у Вас value не Integer. Вы наверное прямо в табличке что-то пишете?
Тогда немного помудрим с условием:
Java
1
2
3
4
5
6
7
8
9
    try {
        if (column == 0 && (value == null ? 0 : Integer.valueOf(value.toString())) < 0) {
            c.setForeground(Color.red);
        } else {
            c.setForeground(jTable1.getForeground());
        }
    } catch (NumberFormatException ex) {
        System.out.println("Ё-моё! В первой колонке не число!!!");
    }
1
 Аватар для иван я
17 / 17 / 16
Регистрация: 15.12.2012
Сообщений: 536
22.03.2016, 05:26  [ТС]
Max_Sys, Спасибо вам огромное)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.03.2016, 05:26
Помогаю со студенческими работами здесь

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

Текст в таблице
Почему, когда я пишу текст в таблице, текст находится по центру таблицы, а не в самом начале (вверху). Как сделать чтобы текст был...

Текст в таблице
Подскажите пожалуйста. Как в таблице в Ворде сделать так, чтобы текст был сплошной и мог вписаться в несколько ячеек последовательно как в...

Текст в таблице
Как уменьшить отступ от текста до нижней границы таблицы? Вот пример. &lt;table border=&quot;1&quot; align=&quot;center&quot;...

Зашифровать текст по таблице
Здравствуйте. Я плоховато знаю ассемблер. Поэтому прошу вас помочь мне с этой прогой. Желательно рабочий код. Понимаю помогать не всем...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение Это мой обзор планшета X220 с точки зрения школьника. Недавно я решила попытаться уменьшить свой. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru