0

別の JPanel ( pNums) を含むJPanel ( ) がありますpGridpGridそれ自体には、ラベルのグリッド ( JLabel[][]GridLayout 内) が含まれています。イベントをキャッチし、かなり重要なことを行うマウスリスナーがありpGridます (プログラムの機能全体が mouseClicked() イベントに依存しているように)。これは、まさに私が望んでいた方法で完全に機能します...ラベルにツールチップを追加するまで。

リスナーを呼び出すとすぐにJLabel.setToolTipText("SomeString")、イベントへの反応が停止します(すべてではないにしても、ほとんどのマウスイベントを試しましたが、どれも呼び出されないようです)。

ちなみに、それはツールチップであると確信ており、コメントアウトするsetToolTipText()と問題が完全に解決します。もちろん、ツールチップが必要だったので、他の多くの問題も引き起こします。

私は周りを見回しましたが、quite正しいものは何も見つかりませんでしたが、自分がやりたいことをするのに本当に悪い方法を選んだという印象を受けました. しかし、私も確かに知りたいです。

イベントとツールチップの両方を取得できますか、それとも最初からやり直す必要がありますか?

4

1 に答える 1

0

ツールチップの表示に遅延を設定することで、この問題を「修正」できると思います。ただし、表示されたら、とにかくクリックして非表示にする必要があります。

http://docs.oracle.com/javase/7/docs/api/javax/swing/ToolTipManager.html

これの原因は、ツールチップ自体を非表示にするためにマウスをクリックする必要があるためです。

于 2012-10-01T07:53:33.977 に答える