focusGained | フォーカスを受けたときに発生する |
---|---|
focusLost | フォーカス失った時に発生する |
FocusAdapterクラスはFocusListenerインターフェースを実装済みのクラスです。
package MyPackage1; import java.awt.*; import java.awt.event.*; public class FocusEventSample { /* * エントリポイント */ public static void main(String args[]){ new FocusEventSample(); } Frame frm; TextField txt1; TextField txt2; Label lbl1; Label lbl2; /* * コンストラクタ */ public FocusEventSample(){ this.frm = new Frame("FocusEventSample"); frm.setSize(300, 300); frm.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent ev){ System.exit(0); } }); frm.setLayout(new GridLayout(4,1)); this.txt1 = new TextField(); txt1.addFocusListener(new MyFocusAdapter()); frm.add(txt1); this.txt2 = new TextField(); txt2.addFocusListener(new MyFocusAdapter()); frm.add(txt2); this.lbl1 = new Label(); frm.add(lbl1); this.lbl2 = new Label(); frm.add(lbl2); frm.setVisible(true); } /* * FocusAdapter */ private class MyFocusAdapter implements FocusListener{ public void focusGained(FocusEvent e) { //イベントが発生したコンポーネント TextField txt1 = (TextField)e.getSource(); //移動元のコンポーネント TextField txt2 = (TextField)e.getOppositeComponent(); String s1 = ""; String s2 = ""; if (txt1 != null){ s1 = txt1.getName(); } if (txt2 != null){ s2 = txt2.getName(); } lbl1.setText("focusGained: " + s1 + " (移動元:" + s1 + ")"); } public void focusLost(FocusEvent e) { //イベントが発生したコンポーネント TextField txt1 = (TextField)e.getSource(); //移動元のコンポーネント TextField txt2 = (TextField)e.getOppositeComponent(); String s1 = ""; String s2 = ""; if (txt1 != null){ s1 = txt1.getName(); } if (txt2 != null){ s2 = txt2.getName(); } lbl2.setText("focusLost: " + s1 + " (移動先:" + s2 + ")"); } } }
0 件のコメント:
コメントを投稿