質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

1回答

1306閲覧

プログラムからクリックイベントを発火させる

plue

総合スコア71

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

1グッド

1クリップ

投稿2017/07/26 02:29

業務にてawtを使用してJavaアプリケーションを作成しています。
都合上、swingは使用できない仕様です。

~やりたいこと~
あるjava.awt.TextFieldのLostFocusイベント処理内にて、
java.awt.Componentを継承した他の部品に実装されたmouseClickイベントを呼び出したい。

可能な場合、その方法を教えてください。
できればサンプルがあるととても助かります。

よろしくお願い致します。

The_bullpen👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

他の部品.getMouseListeners()[listenersat].マウスのイベントのメソッド(
new MouseEvent(source, id, when, modifiers, x, y, clickCount, popupTrigger));

listenersat:任意の数(基本0,登録したListenerの数で変わる)
source:java.awt.TextFieldの変数
id:他と被らない数()
when:適当な数(気にするならSystem.currentTimeMillis())
modifiers:shiftなどを気にしないなら0
x:マウスのx座標(気にしないなら適当)
y:マウスのy座標(気にしないなら適当)
clickcount:ダブルクリックとかを気にしないならば1
popupTrigger:ポップアップを気にしないならばfalse

を使ってみてはどうでしょうか。

###サンプル

public void Sample() { Frame f=new Frame(); f.setSize(200, 200); f.setLocationRelativeTo(null); Panel p=new Panel(); p.addMouseListener(new MouseListener() { @Override public void mouseReleased(MouseEvent e) {} @Override public void mousePressed(MouseEvent e) { System.out.println("ok"); } @Override public void mouseExited(MouseEvent e) {} @Override public void mouseEntered(MouseEvent e) {} @Override public void mouseClicked(MouseEvent e) {} }); p.getMouseListeners()[0].mousePressed(new MouseEvent(p, 0, 100, 0, 100, 100, 1, false)); f.addWindowListener(new WindowListener() { @Override public void windowOpened(WindowEvent arg0) {} @Override public void windowIconified(WindowEvent arg0) {} @Override public void windowDeiconified(WindowEvent arg0) {} @Override public void windowDeactivated(WindowEvent arg0) {} @Override public void windowClosing(WindowEvent arg0) { System.exit(0); } @Override public void windowClosed(WindowEvent arg0) {} @Override public void windowActivated(WindowEvent arg0) {} }); f.add(p); f.setVisible(true); }

###結果
フレームが表示されるとともに

ok

と出力されます。

説明下手ですいません。

投稿2017/08/11 12:35

The_bullpen

総合スコア13

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

plue

2017/08/25 23:59

回答いただきありがとうございます。 応用して使ってみたいと思います。 getMouseListeners()を知りませんでした、大変勉強になりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問