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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> слушатели событий 
V
    Опции темы
enzaime
Дата 5.11.2013, 15:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Привет всем.  Столкнулся с небольшой проблемой, не могу понять в какой момент времени компонент теряет мышь. Суть такая - есть несколько объектов к ним прикреплен слушатель мыши. Имея данный класс, описывающий объект, как можно узнать, когда мышь передается другому объекту этого класса. Например:
Класс, описывающий таблицу
Код

public class Table extends JTable
{
    public Table()
    {
        super(5, 5);
        addMouse();
    }
    public void addMouse()
    {
        
        addMouseListener(new MouseAdapter() 
        {

            @Override
            public void mousePressed(MouseEvent me) {
                super.mousePressed(me);
                setRowSelectionAllowed(true);
                
                setRowSelectionInterval(1, 1);
            }
            
        }
                );
    }
}

Панель, куда все добавляется
Код

public class Panel extends JPanel{
    public Panel()
    {
        setLayout(new BoxLayout(this,BoxLayout.Y_AXIS));
        ArrayList<Table> t=new ArrayList<>();
        for(int i=0;i<3;i++)
            t.add(new Table());
        for(int i=0;i<t.size();i++)
            add(t.get(i));
    }
    
}

Тело главного класса
Код

JFrame f=new JFrame();
        Panel p=new Panel();
        f.add(p);
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.setVisible(true); 
        f.pack();


Нужно убрать выделение с таблицы, если был щелчок по другой таблице. Скажу сразу, что вариант с наблюдением панели за таблицей мне известен и действительно всё работает, но мне интересно может кто-то знает другой вариант как через слушателей всё это сделать.
PM MAIL   Вверх
Magistrus
Дата 11.11.2013, 10:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Жив
*


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

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



FocusListener тебе в помошь 
--------------------
~ вот такая вот загагулина ~ 
PM MAIL WWW ICQ Skype   Вверх
enzaime
Дата 11.11.2013, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



А он разве не с текстовыми полями работает? Там вроде как определяется фокус ввода. Он вроде как определяет на каком компоненте текстовый курсор, то есть если ввода в таблицу нет то и проверка на фокус таблицы даст 0 всегда, то есть если в поле таблицы есть текстовый фокус, значит и есть фокус мыши(выделение строки). (Обратно) Но если есть фокус мыши, то не обязательно должен быть текстовый фокус.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0772 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


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

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