Java API 分類導覽 - java.awt.event.TextListener

TextListener 介面 (interface) 進行文字輸入事件的處理,需要實作 textValueChanged() 方法 (method) ,其參數 (parameter) e 為 TextEvent 物件 (object)



修飾子
public interface TextListener


父介面
java.util.EventListener


實作方法
名稱敘述
textValueChanged()處理文字輸入事件


舉例如下
import java.awt.*;
import java.awt.event.*;
 
public class TextEventDemo implements TextListener {
    public static void main(String[] args) {
        new TextEventDemo();
    }
     
    public TextEventDemo() {
        Frame frame = new Frame("AWTDemo");
        frame.addWindowListener(new AdapterDemo());
        frame.setSize(600, 400);
        
        TextArea text = new TextArea();
        text.addTextListener(this);
        
        frame.add(text, BorderLayout.CENTER);
        frame.setVisible(true);
    }
    
    public void textValueChanged(TextEvent e) {
        TextArea t = (TextArea) e.getSource();
        t.select(t.getCaretPosition() - 1, t.getCaretPosition());
        String s = t.getSelectedText();
        System.out.print(s);
        t.setCaretPosition(t.getCaretPosition() + 1);
    }
}
 
class AdapterDemo extends WindowAdapter {
    public void windowClosing(WindowEvent e) {
        System.exit(0);
    }
}

/* 《程式語言教學誌》的範例程式
    http://pydoing.blogspot.com/
    檔名:TextEventDemo.java
    功能:示範 Java 程式 
    作者:張凱慶
    時間:西元 2012 年 3 月 */


此例的 TextEventDemo 實作 TextListener 介面
public class TextEventDemo implements TextListener {


這裡我們直接改寫 textValueChanged() 方法,先以參數 e 取得 TextArea 物件,然後在 TextArea 的任何輸入都會在命令列中印出
public void textValueChanged(TextEvent e) {
    TextArea t = (TextArea) e.getSource();
    t.select(t.getCaretPosition() - 1, t.getCaretPosition());
    String s = t.getSelectedText();
    System.out.print(s);
    t.setCaretPosition(t.getCaretPosition() + 1);
}


編譯後執行,結果如下



中英文術語對照
介面interface
方法method
參數parameter
物件object


您可以繼續參考
事件處理


相關目錄
Java API 分類導覽
Java 教材
首頁


參考資料
http://docs.oracle.com/javase/6/docs/api/java/awt/event/TextListener.html

沒有留言: