Javaインタフェース-フォーカスイベントクラス

4302 ワード

[関連情報]フォーカスイベントクラス(FocusEvent)とは、ユーザプログラムインタフェースのコンポーネントがフォーカスを失った(すなわち、あるオブジェクトから別のオブジェクトにフォーカスが移った)場合に発生するフォーカスイベントである.フォーカスイベントを使用するには、1)フォーカスを取得すると発生するvoid focusGained(FocusEvent):フォーカスを取得すると発生する2つの方法を含むFocusListenerインタフェースのイベントプロセッサをコンポーネントに追加する必要があります.2)void focusLost(FocusEvent):フォーカスを失ったときに発生します.[具体的なプログラム実装]
package sup.orange.learn;



import java.awt.*;

import java.awt.event.*;



/**

 * Created by re-x on 10/28/14.

 */

public class FocusEventDemo extends Frame{

    TextArea textarea;

    TextField textfield;



    public FocusEventDemo () {

        super();

        init();

    }



    public static void main(String[] args) {

        new FocusEventDemo();

    }



    public void init() {

        setLayout(new GridLayout(2, 1));

        textarea = new TextArea();

        textarea.addFocusListener(new FocusListener() {

            @Override

            public void focusGained(FocusEvent e) {

                textarea.setText("gained");

            }



            @Override

            public void focusLost(FocusEvent e) {

                textarea.setText("lost");

            }

        });



        textfield = new TextField();

        textfield.addFocusListener(new FocusListener() {

            @Override

            public void focusGained(FocusEvent e) {

                textfield.setText("textfield gained");

            }



            @Override

            public void focusLost(FocusEvent e) {

                textfield.setText("textfield lost");

            }

        });



        add(textarea);

        add(textfield);

        addWindowListener(new WindowAdapter() {

            @Override

            public void windowClosing(WindowEvent e) {

                super.windowClosing(e);

                dispose();

                System.exit(0);

            }

        });

        setSize(200, 500);

        setVisible(true);

    }

}