を自動的に非表示にしたいのですがJToolBar
、マウスが に近づいた/上に移動したときにのみ表示されますJToolBar
。に追加しJToolBar
ましたJPanel
。にはマウスオーバー リスナーはありませんJToolBar
。これを行う方法?
2048 次
2 に答える
4
またはに a を追加MouseMotionListener
します。JFrame
JDialog
addMouseMotionListener(new MouseAdapter() {
public void mouseMoved(MouseEvent e) {
toolbar.setVisible(e.getY() < 10);
}
});
この方法では、マウスがウィンドウの上部 10 垂直ピクセル内にある場合にのみ、ツールバーが表示されます。
于 2011-11-17T15:04:45.927 に答える
3
JToolBar にはマウスオーバー リスナーがありません
を使用して、およびイベントMouseListener
を処理します。mouseEntered
mouseExited
ただし、マウス イベントは可視コンポーネントにしか渡されないため、問題が発生します。したがって、ツールバーを非表示にすると、mouseEntered イベントを受け取りません。
だから私はあなたのデザインを理解していません。ツールバーのそばのスペースを埋めるために、他のコンポーネントを上に移動させる予定はありますか? それとも、スペースを空けておきますか?後者の場合、MouseMotionListener をパネルに追加し、mouseMoved イベントを処理して、マウスがツールバーがあるべき場所にあることを確認する必要があります。
于 2011-11-17T15:59:31.623 に答える