1

クラスの始めに書くことができimplements ActionListener、それからそれが機能するために作成しなければならないことを私は知っていpublic void actionPerformed(ActionEvent e)ます。mouseListenerで同じことを行うことは可能ですか?もしそうなら、あなたは代わりにどのような方法を作成する必要がありますactionPerformedか?

編集:これは私のクラス宣言です:

public class Basic_Book extends JFrame implements ActionListener implements MouseListener

そして、これはその隣に表示される私のエラーメッセージです:

  • シリアル化可能なクラスBasic_Bookは、long型の静的なfinalserialVersionUIDフィールドを宣言しません

  • トークン「implements」の構文エラー、。期待される

4

4 に答える 4

6

javadocsを見ると、.. に付属のメソッドがたくさんありますMouseListener。すべてを実装するわけではありませんが、実装するMouseAdapterMouseListenerのインターフェイスを使用できますが、すでにスタブ メソッドを提供しています。

mouseClickedなどmouseEntered。編集後:

class Basic_Book extends JFrame implements ActionListener,MouseListener

コンマを使用してインターフェイスを区切ります。 ActionListenerしかないactionPerformedので、ActionListener に対してのみ実装 MouseListenerする必要があり、4 つ以上ある場合は、ALL を実装する必要があります。またはMouseAdapter、必要なメソッドを使用してオーバーライドします。

についてはserialVersionUID、Eclipse に任せてください。エラーに対して ctrl+space を押して Eclipse のインテリセンスを呼び出してみてください。いくつかのオプションが表示されます。generate と表示されているものを選択しserialVersionUID

それが実際にどのように行われたか思い出せません (しかし、うまくいくはずです! 指が交差しました)。

于 2013-02-12T00:21:49.487 に答える
2

Official Java API Documentationは、すべての Java プログラマーにとって不可欠なツールです。具体的には、MouseListener のドキュメントをチェックして、実装する必要があるメソッドを確認してください。

implements MouseListenerクラスを追加してコンパイルすることもできます。コンパイラは、実装する必要があるメソッドをすぐに教えてくれます。Eclipse、NetBeans、IntelliJ などの IDE を使用している場合は、コードをコンパイルする必要さえありません。各 IDE には、必要なメソッドを伝える独自の方法があり、メソッドの本体を生成することさえできます。優れた IDE に慣れることを強くお勧めします。コードを書く時間を大幅に節約できます。

于 2013-02-12T00:22:58.757 に答える
2

とはインターフェイスです。つまりActionListenerMouseListener同じ方法で実装できます。

MouseListener実装する必要がある 5 つのメソッドを定義します。

  • mouseClicked(MouseEvent e)
  • mouseEntered(MouseEvent e)
  • mouseExited(MouseEvent e)
  • mousePressed(MouseEvent e)
  • mouseReleased(MouseEvent e)

最初にJava Docsチュートリアルを確認する必要があります

于 2013-02-12T00:23:43.930 に答える
0

実際にはコンパイラが答えを教えてくれるはずですが、mouseLeave、mouseEnter、mouseHover、mousePressed のようなものでなければなりません。

于 2013-02-12T00:22:08.940 に答える