У меня есть главное окно: < /p>
public class MainPanel extends JFrame implements MouseListener {
public MainPanel() {
setLayout(new FlowLayout());
setDefaultCloseOperation(EXIT_ON_CLOSE);
addMouseListener(this);
ChildPanel child = new ChildPanel();
add(child);
JPanel spacer = new JPanel();
spacer.setPreferredSize(new Dimension(50, 50));
add(spacer);
pack();
setLocationRelativeTo(null);
}
@Override
public void mouseClicked(MouseEvent e) {
System.out.println("Mouse click event on MainPanel");
}
}
< /code>
и ребенок jpanel: < /p>
public class ChildPanel extends JPanel implements MouseListener {
public ChildPanel() {
setBackground(Color.RED);
setPreferredSize(new Dimension(200, 200));
//addMouseListener(this);
}
@Override
public void mouseClicked(MouseEvent e) {
System.out.println("Mouse click event on ChildPanel");
}
}
< /code>
При вызове AddmouseListener < /code> прокомментировано на детской панели, родитель получает события, щелкнув в любом месте в окне, включая ребенка. Если я расстроен этот вызов и нажимаю на детскую панель, только < /em> ребенок получает событие Clic > Как мне остановить потребление события ребенком?
Подробнее здесь: https://stackoverflow.com/questions/360 ... on-stopped
Распространение событий Java прекращено ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение