既存のオブジェクトの状態の変化はすべてイベントとして呼び出されます。イベント ハンドラーは、特定のイベントをリッスンし、それに応じていくつかの論理アクションを実行するように設計されています。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 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 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 回クリックするとフッターのラベルが変わります。上記のプログラムを実行すると、次のウィンドウが表示されます:
「最初」ボタンをクリックすると、以下のテキストが下に生成されます:
2 番目のボタンをクリックすると、次の出力が生成されます:
3 番目のボタンをクリックすると、次の出力が生成されます:
したがって、さまざまなボタンのクリック イベントがリスナーによって検出され、それに応じてさまざまな機能が実行されることがわかります。
上記の記事では、Java awt のイベント ハンドラーについて明確に理解できます。
以上がJava でのイベント処理の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。