MouseListener を JToolBar に追加すると、
jToolbar.addMouseListener(new MouseInputAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
log.debug(e.getPoint());
}
});
このイベントは、JToolBar のグリッパーの外側をクリックしたときにのみ発生します。
BasicToolBarUI の createDockingListener() をオーバーライドすると、次のようになります。
@Override
protected MouseInputListener createDockingListener() {
return new MouseInputAdapter() {
@Override
public void mousePressed(MouseEvent evt) {
log.debug(e.getPoint());
}
}
}
グリッパーをクリックすると、イベントが発生します。
だから私の質問は、なぜですか?MouseEvent は dockingListener で消費されますか? しかし、イベントを消費するコードは見当たりません。