Swingコンポーネントは、マウスがどこにあり、いつクリックされたかをどのように認識し、オブジェクトを新しいものに追加するたびに新しいマウスリスナーを追加することなく、自分のクラスでそれをどのように使用できるのでしょうか。パネル?
編集:JComponentを拡張していて、マウスが動いたときに呼び出されるイベントメソッドを取得したいです。編集2:動作するようになりました。ありがとうございます。
アクションリスナーをJButtonに追加すると、次のようにクリックされたときに通知されます。
someButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
//the button was pressed and do your stuff here.
}
}
how does the JButton know where the mouse is and when it clicked
それがリスナーにとってのことです-対応するタイプのイベントをリッスンします
ActionListener
これを実行して、リスナーに
実装して登録するだけjbutton.addActionListener(this);
です。ボタンをクリックするとevent
、この部分で処理されるが生成されます。
public void actionPerformed(ActionEvent e){
... // handle event
}
他の投稿のコメントから、MouseListener
を使用してカスタムコンポーネントを登録しますComponent#addMouseListener
詳細については、マウスリスナーの書き方を読んでください。