在AWT中,有兩類構件可以用來顯示可編輯文本,即TextArea和’TextField。構件TextField所編輯的對象是單行文本,而構件TextArea則是多行文本域,該構件可以作為一個簡單的文本編輯器。
1、java.awt.TextComponent
TextField 和TextArea都擴充TextComponent類。TextComponent是單獨存在的,其作用是為TextArea 和TextField提供基本的文本編輯能力。
TextComponent提供下面的功能:
- 擷取設定文本
- 擷取設定選擇的文本
- 擷取設定編輯模式
- 安置插入符号
方法:
void addNotify() //通過将此元件連接配接到本機螢幕資源,可以顯示此元件。
void addTextListener(TextListener l) //添加指定的文本事件偵聽器以從此文本元件接收文本事件。
void enableInputMethods(boolean enable) //啟用或禁用此文本元件的輸入法支援。
AccessibleContext getAccessibleContext() //擷取與此TextComponent關聯的AccessibleContext。
Color getBackground() //擷取此文本元件的背景顔色。
int getCaretPosition() //傳回文本插入插入符的位置。
<T extends EventListener>
T[] getListeners(類<T> listenerType) //傳回目前注冊的所有對象的數組 FooListener在這個S TextComponent 。
String getSelectedText() //傳回此文本元件顯示的文本中的標明文本。
int getSelectionEnd() //擷取此文本元件中所選文本的結束位置。
int getSelectionStart() //擷取此文本元件中所選文本的起始位置。
String getText() //傳回此文本元件顯示的文本。
TextListener[] getTextListeners() //傳回在此文本元件上注冊的所有文本偵聽器的數組。
boolean isEditable() //訓示此文本元件是否可編輯。
protected String paramString() //傳回表示此 TextComponent的狀态的字元串。
protected void processEvent(AWTEvent e) //處理此文本元件上的事件。
protected void processTextEvent(TextEvent e) //處理在此文本元件上發生的文本事件,方法是将它們分派給任何已注冊的 TextListener對象。
void removeNotify() //删除了 TextComponent的同行。
void removeTextListener(TextListener l) //删除指定的文本事件偵聽器,使其不再接收來自此文本元件的文本事件。如果 l為 null ,則不會引發異常并且不執行任何操作。
void select(int selectionStart, int selectionEnd) //選擇指定的開始和結束位置之間的文本。
void selectAll() //選擇此文本元件中的所有文本。
void setBackground(Color c) //設定此文本元件的背景顔色。
void setCaretPosition(int position) //設定文本插入插入符的位置。
void setEditable(boolean b) //設定用于确定此文本元件是否可編輯的标志。
void setSelectionEnd(int selectionEnd) //将此文本元件的選擇結束設定為指定位置。
void setSelectionStart(int selectionStart) //将此文本元件的選擇開始設定為指定位置。
void setText(String t) //将此文本元件顯示的文本設定為指定的文本。
1.1 TextComponet監聽者
在預設的情況下,文本構件接受焦點。結果,除了激發被所有構件都激發的事件外,還激發鍵盤和焦點事件(請參見11.13節“構件和國際化”中的内容)。文本構件也激發文本事件,并支援增加和删除文本監聽者。文本在任何時候發生改變,都将通知文本監聽者。
2、java.awt.TextField
構造方法:
TextField() //構造一個新的文本字段。
TextField(int columns) //構造具有指定列數的新空文本字段。
TextField(String text) //構造使用指定文本初始化的新文本字段。
TextField(String text, int columns) //構造一個使用要顯示的指定文本初始化的新文本字段,并且寬度足以容納指定數量的列。
方法:
int getColumns() //擷取此文本字段中的列數。
void setColumns(int columns) //設定此文本字段中的列數。
char getEchoChar() //擷取要用于回顯的字元。
void setEchoChar(char c) //設定此文本字段的回顯字元。
boolean echoCharIsSet() //訓示此文本字段是否具有用于回顯的字元集。
void addActionListener(ActionListener l) //添加指定的操作偵聽器以從此文本字段接收操作事件。
void removeActionListener(ActionListener l) //删除指定的操作偵聽器,以便它不再從此文本字段接收操作事件。
3、退出有效性
當想要離開文本框時,要麼通過按下TAB鍵或者回車或者用滑鼠退出,使用一個檢測确定在左邊的文本框中輸人的資料是有效的整數。如果不是,則焦點将回到左邊的文本框,然後文本框中所有的文本被標明并要求重新輸入整數。
4、過程中确認
在該方案中,包含監測擊鍵和不允許非法字元串顯示。這是很有意思的,該方法在以前版本的AWT中是不能使用的,因為你不可能阻止事件傳遞給構件的同位體。輸入事件可以通過調用InputEvent . consume ()方法被消耗掉。
5、java.awt.TextArea
構造方法:
TextArea() //構造一個新的文本區域,将空字元串作為文本。
TextArea(int rows, int columns) //構造具有指定行數和列數的新文本區域,将空字元串構造為文本。
TextArea(String text) //使用指定的文本構造一個新的文本區域。
TextArea(String text, int rows, int columns) //使用指定的文本構造一個新的文本區域,并使用指定的行數和列數。
TextArea(String text, int rows, int columns, int scrollbars) //構造具有指定文本的新文本區域,并指定行,列和滾動條可見性。
字段:
static int SCROLLBARS_BOTH //建立并顯示垂直和水準滾動條。
static int SCROLLBARS_HORIZONTAL_ONLY //僅建立和顯示水準滾動條。
static int SCROLLBARS_NONE //不要為文本區域建立或顯示任何滾動條。
static int SCROLLBARS_VERTICAL_ONLY //僅建立和顯示垂直滾動條。
方法:
void append(String str) //将給定文本追加到文本區域的目前文本。
AccessibleContext getAccessibleContext() //傳回與 AccessibleContext相關聯的 TextArea 。
int getColumns() //傳回此文本區域中的列數。
Dimension getMinimumSize() //确定此文本區域的最小大小。
Dimension getMinimumSize(int rows, int columns) //确定具有指定行數和列數的文本區域的最小大小。
Dimension getPreferredSize() //确定此文本區域的首選大小。
Dimension getPreferredSize(int rows, int columns) //确定具有指定行數和列數的文本區域的首選大小。
int getRows() //傳回文本區域中的行數。
int getScrollbarVisibility() //傳回一個枚舉值,訓示文本區域使用的滾動條。
void insert(String str, int pos) //将指定文本插入此文本區域中的指定位置。
protected String paramString() //傳回表示此 TextArea的狀态的字元串。
void replaceRange(String str, int start, int end) //用指定的替換文本替換訓示的開始和結束位置之間的文本。
void setColumns(int columns) //設定此文本區域的列數。
void setRows(int rows) //設定此文本區域的行數。