Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

JFrame外のマウスクリックイベントは取得できますか?

JFrame内ではなく、JFrame外でのマウスクリックイベント
を取得したいのですが可能でしょうか?
JFrame外のマウス座標は
PointerInfo pointerInfo = 
MouseInfo.getPointerInfo();
で取得できたのでクリックイベントも取得できるのかなと
思ったのですが、検索してもJFrame内のクリックイベント
の取得しか見つけることが出来ませんでした。

5

回答

4484

閲覧

5件の回答

評価

0

質問なのですが、こちらのサイトにはどのくらいのjava実
力者が来ているのでしょうか?
質問に対するレスがない場合、その機能は実現不可能と判
断してもいいのでしょうか?

評価

0

何人来ているのかは管理人にも凡そしか分からないし、公表
することもないだろう。
この掲示板は、どこかの組織が運営しているものではない。
回答しているのは、検索その他でたまたま行き当たった連中
だ。
回答は義務ではなく、個々人の意欲によるボランティアだ。
回答の正確性にも責任は負わない。

毎日確認している奴もいれば、月に一度確認するかどうか、
という奴もいる。たまたま行き当たってたまたま回答し、そ
れきりの奴もいるだろう。

返答がない理由は、
・誰も見てない
・実現できるかも知れないが方法は知らない
・知ってる奴が書き込みエラーで回答できない
・質問の意味を読み取れない
・質問内容がアホらしくて誰も相手にしたくない
・質問者の人格が異常で誰も相手にしたくない
などと、幾らでもあげられる。


最初の質問については、「Java マウス 座標」とでも検索すれ
ば上位に出て来るはずだが。
誰でもやりたいであろうことの情報が全く得られないという
のは、大抵探し方がまずい。
http://www.javainthebox.net/laboratory/J2SE1.5/GUI/MouseLo
cation/MouseLocation.html

評価

0

解答ありがとうございます。ただ、ぼくの質問はマウス
の座標の取得ではなく、jframeの外でマウスをクリッ
クした時のクリックイベントを取得できますかというも
のです

評価

0

おっと、読み違えていたか。失礼。

そのクリックイベントが失われていいなら、透明なフレーム
を全画面で配置すれば取れる。
AWTEventListenerだったかを使うと、自身のLostFocusが捉
えられるから最初の一回のみ取れる。
Javaだけでできるのは、恐らくここまで。

Javaのイベントモデルはネイティヴのイベントモデルの上に
作られているので、そもそも自身以外のイベント情報が伝え
られていない。
JNAを使って自前のネイティヴコードを呼び出し、システム
のマウスイベントをフックすることで、イベントを受け取る
ことはできる。

評価

0

Windows APIですか。
マウスイベントの変わりにKeyEventで目的を達成する方法
を考えることにします。ありがとうございました。

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。