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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> задать цвет рамки выбранной ячейки jtable 
:(
    Опции темы
izver84
Дата 5.2.2010, 19:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Здравствуйте.

Появился вопрос.
Есть jtable.
Выделенная ячейка обрамляется рамкой.
Мне надо увеличить рамку.
При нажатии цифры ячейки присваивается компонент.
Код

    public void keyPressed(java.awt.event.KeyEvent e) {
if(e.getKeyCode() >= KeyEvent.VK_0  &&
                             e.getKeyCode() <= KeyEvent.VK_9 ||
                             e.getKeyCode() >= KeyEvent.VK_NUMPAD0  &&
                             e.getKeyCode() <= KeyEvent.VK_NUMPAD9)
                        {                             
                                    
                                        int rowIndexStart = jTable.getSelectedRow();
                                        int colIndexStart =jTable. getSelectedColumn();                                    
                                                    jTable.editCellAt(rowIndexStart,ColumnSel);
                                                    Component c = jTable.getEditorComponent();
                                        
                                        if(c instanceof JTextComponent)
                                                ((JTextComponent)c).setText("");
                                        ((JTextComponent)c).setFont(new Font("Dialog", Font.BOLD, 16));
                                    
                                        }
                        }
}


Если я в ColumnRenderer сделаю так -
Код

    if (table.getSelectedRow()==row & table.getSelectedColumn()==column) {          
                 table.editCellAt(row,column);
                    Component d = table.getEditorComponent();        
        if(d instanceof JTextComponent)    
        ((JTextComponent)d).setBorder(BorderFactory.createMatteBorder(3, 3, 3, 3, new java.awt.Color(0,0,250)));    
    }


То работает компонент ColumnRenderer.

Т.е. когда я гуляю по таблице работает ColumnRenderer, а когда нажимаю цифру работает
Код

    public void keyPressed(java.awt.event.KeyEvent e) {
if(e.getKeyCode() >= KeyEvent.VK_0  &&
                             e.getKeyCode() <= KeyEvent.VK_9 ||
                             e.getKeyCode() >= KeyEvent.VK_NUMPAD0  &&
                             e.getKeyCode() <= KeyEvent.VK_NUMPAD9)
                        {                             
                                    
                                        int rowIndexStart = jTable.getSelectedRow();
                                        int colIndexStart =jTable. getSelectedColumn();                                    
                                                    jTable.editCellAt(rowIndexStart,ColumnSel);
                                                    Component c = jTable.getEditorComponent();
                                        
                                        if(c instanceof JTextComponent)
                                                ((JTextComponent)c).setText("");
                                        ((JTextComponent)c).setFont(new Font("Dialog", Font.BOLD, 16));
                                    
                                        }
                        }
}

как мне выйти из этой ситуации?


--------------------
Если новая программа с первого раза компилируется без ошибок, значит, она написана принципиально неправильно. 
PM MAIL   Вверх
dorogoyIV
Дата 6.2.2010, 15:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



нифига не понял - как надо? (не один раз прочитал)
PM MAIL   Вверх
jk1
Дата 6.2.2010, 15:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата

Выделенная ячейка обрамляется рамкой.
Мне надо увеличить рамку.

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


--------------------
Opinions are like assholes — everybody has one
PM MAIL   Вверх
izver84
Дата 8.2.2010, 11:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



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



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

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

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


 




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


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

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