★★Java質問・相談スレッド184★★ (371レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
17: デフォルトの名無しさん (ワッチョイ ce01-ApZl) [] 2022/08/02(火) 11:09:03.96 ID:1+SKzGdY0(1/2) AAS
>>16
16(1): デフォルトの名無しさん (ワイーワ2 FF62-gOJn) [] 2022/08/02(火) 10:59:10.67 ID:tTeCFCYlF(1/2) AAS
エンターキーをJbutton上において押下したときでも、ボタンのアクションを呼び出したいのですが、
どうしたらいいでしょうか?
KeyListenerをimplementsして、下記のようにしたのですが、
JButton okButton = new JButton("OK");
okButton.addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_ENTER) {
System.out.println("エンター");
}
}
});
エラーが出ます。
The method addKeyListener(KeyListener) in the type Component is not applicable for the arguments (new KeyAdapter(){})
import java.awt.event.KeyAdapter;
19: デフォルトの名無しさん (ワッチョイ ce01-ApZl) [] 2022/08/02(火) 12:41:49.87 ID:1+SKzGdY0(2/2) AAS
アクションリスナが実行されるのはアクションが起きたときなので
okButton.doClick();
でいんじゃないかな

Stream.of(okButton.getActionListeners())
.forEach(x -> x.actionPerformed(null));

これで呼べなくはないだろうけど
これをやるならActionListenerで行ってる処理を別メソッドに移動して
そのメソッドをActionListener, KeyListenerの双方から呼ぶようにするのが正当なやり方だと思う
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.020s