Привет всем. Столкнулся с небольшой проблемой, не могу понять в какой момент времени компонент теряет мышь. Суть такая - есть несколько объектов к ним прикреплен слушатель мыши. Имея данный класс, описывающий объект, как можно узнать, когда мышь передается другому объекту этого класса. Например: Класс, описывающий таблицу
Код | 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();
|
Нужно убрать выделение с таблицы, если был щелчок по другой таблице. Скажу сразу, что вариант с наблюдением панели за таблицей мне известен и действительно всё работает, но мне интересно может кто-то знает другой вариант как через слушателей всё это сделать. |