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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Mouse/Key Listener 
:(
    Опции темы
Alone
Дата 11.8.2003, 13:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 663
Регистрация: 11.5.2003
Где: Dnepropetrovsk, U A

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



Имеем код построения таблицы 10Х5:
Код

model=new mTableModel(
 new String[]{"N","Name","W","H","M"}
); // Это я конструктору передаю заголовки столбцов

javax.swing.JTable refTbl = new javax.swing.JTable(model);
jScrollPane1.setViewportView(refTbl);

//  добавляю блоки прослушки
refTbl.addKeyListener(new java.awt.event.KeyAdapter(){
 public void keyReleased(java.awt.event.KeyEvent evt){
  refTblKeyReleased(evt);
 }
});

refTbl.addMouseListener(new java.awt.event.MouseAdapter(){
 public void MouseReleased(java.awt.event.MouseEvent evt){
  refTblMouseReleased(evt);
 }
});

refTbl.setBackground( new java.awt.Color(255,255,205) );
refTbl.setFont( new java.awt.Font("Arial", 0, 12) );
refTbl.setSelectionBackground( new java.awt.Color(67, 194, 65));
refTbl.setSelectionForeground(new java.awt.Color(0,0,0) );

refTbl.setAutoCreateColumnsFromModel(false);
refTbl.setDoubleBuffered(true);
refTbl.setPreferredScrollableViewportSize(new java.awt.Dimension(230, 178));
refTbl.setPreferredSize(new java.awt.Dimension(230, 178));
refTbl.setAutoscrolls(false);

        // меняю ширину столбцов
int[] refColumnWidth = {30,170,10,10,10};
       javax.swing.table.TableColumnModel tModel = refTbl.getColumnModel();
       for (int i=0;i<5;i++)
       {
           tModel.getColumn(i).setPreferredWidth(refColumnWidth[i]);
       }


Попытался использовать вот так:
Код

private void refTblMouseReleased(java.awt.event.MouseEvent evt) {
 System.out.println( "row="+refTbl.getSelectedRow());
 System.out.println( "col="+refTbl.getSelectedColumn());
}

Глухо. Никакой реакции...
Таблица на экране есть, курсор по ней бегает. Выделена вся строка, в ней видно отдельную ячейку, где собсно курсор и находится.

Что я хочу от листенера? :
1. всегда знать где находится табличный курсор (например получение координат по нажатию на курсорные клавиши, или одн клик мышкой)
В этом плане я рассчитывал на refTbl.addKeyListener(, но от него нет никакой реакции sad.gif

2. Ентер и двойной клик мышки (выполнится один и тот же код)
Это еще незнаю как сделать sad.gif



--------------------
web developer/telecommunication specialist.
mailto: [email protected]
ICQ#28442924

PM MAIL WWW ICQ   Вверх
DarkDS
Дата 14.8.2003, 11:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 748
Регистрация: 6.5.2003
Где: Таллинн, Эстония

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



Кей листенер не отвечает, так как таблица перехватывает все клавишные сообщения. Она делает это на случай если ячейки редактирумые и для того чтобы управлять передвижениями smile.gif
Был способ просто селекшин слушать... Найду - кину smile.gif

PM MAIL   Вверх
Alone
Дата 14.8.2003, 12:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 663
Регистрация: 11.5.2003
Где: Dnepropetrovsk, U A

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



ОТБОЙ! Я вернулся на вариант с дефолтовой моделью. Все прекрасно получилось.
И листенер работает... Все оки!
Тут проблема прочитать содержимое JPasswordField... sad.gif
чем ОНО криптуетсяconfused.gif непонятно


--------------------
web developer/telecommunication specialist.
mailto: [email protected]
ICQ#28442924

PM MAIL WWW ICQ   Вверх
DarkDS
Дата 14.8.2003, 14:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 748
Регистрация: 6.5.2003
Где: Таллинн, Эстония

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



По идее getPassword возращает пассворд в чарах... smile.gif
PM MAIL   Вверх
DarkDS
Дата 14.8.2003, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 748
Регистрация: 6.5.2003
Где: Таллинн, Эстония

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



Кстати... Можно и с той датамоделью работать так же smile.gif Тока унаследуй ее не от абстрактной, а от дефаулт smile.gif
PM MAIL   Вверх
Alone
Дата 14.8.2003, 22:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 663
Регистрация: 11.5.2003
Где: Dnepropetrovsk, U A

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



Уже с getPassword() разобрался.
Ток вот в чем загвоздка.
Если взять String s=myPassField.getPassowrd().toString();
То получим откровенную фигню... sad.gif
Метод есть, а не работает... Вернее не так работает как надо.

Пришлось сделать:
Код

String s="";
char[] c=myPassField.getPassword();
for (int i=0; i<c.length; i++){
  s+=c[i];
}




--------------------
web developer/telecommunication specialist.
mailto: [email protected]
ICQ#28442924

PM MAIL WWW ICQ   Вверх
SmaLL
Дата 15.8.2003, 09:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



А так не пробовал?
Код
String s= new String(myPassField.getPassword());



--------------------
Что ни делается - всЁ к лучшему! SmallWeb
Мой адрес не дом и не улица, мой адрес родной пивзавод!
PM MAIL WWW ICQ   Вверх
DarkDS
Дата 15.8.2003, 10:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 748
Регистрация: 6.5.2003
Где: Таллинн, Эстония

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



Или как вариант:
Код
String s = String.valueOf(myPassField.getPassword());

PM MAIL   Вверх
Alone
Дата 18.8.2003, 12:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 663
Регистрация: 11.5.2003
Где: Dnepropetrovsk, U A

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



Дык это тоже самое... Если в дебри глянуть, то выполняется обычный toString()
А эффекта - нуль...


--------------------
web developer/telecommunication specialist.
mailto: [email protected]
ICQ#28442924

PM MAIL WWW ICQ   Вверх
DarkDS
Дата 26.8.2003, 20:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 748
Регистрация: 6.5.2003
Где: Таллинн, Эстония

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



Разобрался?
PM MAIL   Вверх
Alone
Дата 28.8.2003, 10:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 663
Регистрация: 11.5.2003
Где: Dnepropetrovsk, U A

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



Ага.
Сорри за молчание...


--------------------
web developer/telecommunication specialist.
mailto: [email protected]
ICQ#28442924

PM MAIL WWW ICQ   Вверх
DarkDS
Дата 28.8.2003, 11:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 748
Регистрация: 6.5.2003
Где: Таллинн, Эстония

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



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

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

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


 




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


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

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