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

TextEvent 類別 (class) 主要處理文字輸入相關事件,此為實作 TextEventListener 介面 (interface) 後, textValueChanged() 的參數 (parameter) e 即為 TextEvent 物件 (object) 。



修飾子
public class TextEvent


父類別
java.awt.AWTEvent


實作介面
Serializable


建構子
public TextEvent(Object source, int id)


舉例如下
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);
}


編譯後執行,結果如下



中英文術語對照
類別class
介面interface
參數parameter
物件object


您可以繼續參考
事件處理


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


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

沒有留言: