ホームページ >Java >&#&チュートリアル >Java でのイベント処理

Java でのイベント処理

PHPz
PHPzオリジナル
2024-08-30 16:15:191233ブラウズ

既存のオブジェクトの状態の変化はすべてイベントとして呼び出されます。イベント ハンドラーは、特定のイベントをリッスンし、それに応じていくつかの論理アクションを実行するように設計されています。AWT コンポーネントは、ユーザー イベントをリッスンする必要なリスナーに登録できます。それに応じてイベントを処理します。このトピックでは、Java でのイベント処理について学びます。

無料ソフトウェア開発コースを始めましょう

Web 開発、プログラミング言語、ソフトウェア テスト、その他

構文

AWT イベント ハンドラーの使用方法の構文は次のとおりです。

// importing awt package
import java.awt.*;
// create a class extending Frame component
class <className> extends Frame implements <ListenerInterface>{
// override methods of implemented interface
@Override
public void <methodName>(){
// do required actions on event happened
}
<className>(){
component.addActionListerner(listenerClassobject);  // register component with listener
}}

上記の構文は、Java awt でリスナーを使用する方法を示しています。

上記の構文では、 Javaクラスの名前を示します。 <リスナーインターフェイス>使用するリスナーの名前を指定できます。コンポーネントをイベントに登録するには、上記のメソッドを使用してコンポーネントをリスナーに登録する必要があります。

Java でのイベント処理

Java awt で使用できるさまざまなタイプのリスナーを以下に示します:

Event ListenerInterface Description
ActionEvent ActionListener Produced on click of a button, selection of an item from menu or other.
MouseEvent MouseListener Produced when mouse event takes place like moved, pressed, click, double-click or enter/exit of mouse pointer into a specified area.
KeyEvent KeyListener Produced on the press of the key.
ItemEvent ItemListener Produced when the checkbox is checked or unchecked or item present in a list is clicked.
WindowEvent WindowListener Produced on different operations performed on a window.
ComponentEvent ComponnetEventListener Produced when a component is made visible, hidden, moved or changes are made in component size.
ContainerEvent ContainerListener Produced when a component is inserted or deleted from a container.
FocusEvent FocusListener Produced when a component attains or loses keyboard focus.
AdjustmentEvent AdjustmentListener Produced when changes are made to using the scrollbar.
MouseWheelEvent MouseWheelListener Produced when the mouse wheel is rotated.
TextEvent TextListener Produced whenever there is a change in the value of textarea or textfield.

Java awt でのイベントの処理に関係する主な手順は次のとおりです:

  • 必要なインターフェースを実装し、そのメソッドをオーバーライドします。
  • コンポーネントをリスナーに登録します。

Java でのイベント処理の例

次の例は、Java awt でイベント ハンドラーを使用する方法を示しています。

コード:

package com.edubca.awtdemo;
// importing important packages
import java.awt.*;
import java.awt.event.*;
public class EventHandlerDemo {
private Frame parentFrame;
private Label headerTitle;
private Label status;
private Panel panel;
public EventHandlerDemo(){
prepareInterface();
}
public static void main(String[] args){
EventHandlerDemo  awtdemo = new EventHandlerDemo();
awtdemo.showEventHandlingDemo();
}
private void prepareInterface(){
parentFrame = new Frame("Java Event Handling Example");
parentFrame.setSize(400,400);
parentFrame.setLayout(new GridLayout(3, 1));
parentFrame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent windowEvent){
System.exit(0);
}
});
headerTitle = new Label();
headerTitle.setAlignment(Label.CENTER);
status = new Label();
status.setAlignment(Label.CENTER);
status.setSize(350,100);
panel = new Panel();
panel.setLayout(new FlowLayout());
parentFrame.add(headerTitle);
parentFrame.add(panel);
parentFrame.add(status);
parentFrame.setVisible(true);
}
private void showEventHandlingDemo(){
headerTitle.setText("Handling Button Click Event");
Button firstButton = new Button("First Button");
Button secondButton = new Button("Second Button");
Button thirdButton = new Button("Third Button");
firstButton.setActionCommand("First Button Clicked");
secondButton.setActionCommand("Second Button Clicked");
thirdButton.setActionCommand("Third Button Clicked");
//registering button with listener
firstButton.addActionListener(new ButtonClickEventListener());
//registering button with listener
secondButton.addActionListener(new ButtonClickEventListener());
//registering button with listener
thirdButton.addActionListener(new ButtonClickEventListener());
panel.add(firstButton);
panel.add(secondButton);
panel.add(thirdButton);
parentFrame.setVisible(true);
}
// inner class implementing Action Listener
private class ButtonClickEventListener implements ActionListener{
// overriding method
public void actionPerformed(ActionEvent e) {
String command = e.getActionCommand();
// do different actions according to different commands
if( command.equals( "First Button Clicked" ))  {
status.setText ("First Button Clicked.");
}
else if( command.equals( "Second Button Clicked" ) )  {
status.setText ("Second Button Clicked.");
}
else  {
status.setText ("Third Button Clicked.");
}
}
}
}

上記のプログラムは、Java で awt イベント ハンドラーを使用する方法を示しています。これには、必要なリスナー インターフェイスの実装とそのメソッドの実装が含まれ、その後、指定されたリスナーにコンポーネントを登録します。

上の例では 3 つのボタンがあり、ボタンを 1 回クリックするとフッターのラベルが変わります。上記のプログラムを実行すると、次のウィンドウが表示されます:

Java でのイベント処理

「最初」ボタンをクリックすると、以下のテキストが下に生成されます:

Java でのイベント処理

2 番目のボタンをクリックすると、次の出力が生成されます:

Java でのイベント処理

3 番目のボタンをクリックすると、次の出力が生成されます:

Java でのイベント処理

したがって、さまざまなボタンのクリック イベントがリスナーによって検出され、それに応じてさまざまな機能が実行されることがわかります。

結論

上記の記事では、Java awt のイベント ハンドラーについて明確に理解できます。

以上がJava でのイベント処理の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。