基本內容
textarea 是一個顯示純文本的多行區域。它作為一個輕量級組件,提供與 java.awt.TextArea 類的源兼容性,理應如此。有關使用所有文本組件的信息和示例,請參閱《
》中 Using Text Components一節。 此組件具有 java.awt.TextArea 類中沒有的功能。有關其他功能,請參考超類。還有 JTextPane 和 JEditorPane 也是具有更多功能的多行文本類。 java.awt.TextArea 在內部處理滾動。JTextArea 的不同之處在於,它不管理滾動,但實現了 swing Scrollable 接口。這允許把它放置在 JScrollPane 的內部(如果需要滾動行為),或者直接使用(如果不需要滾動)。 java.awt.TextArea 具有換行能力。這由水平滾動策略來控制。由於滾動不是由 JTextArea 直接完成的,因此必須通過另一種方式來提供向後兼容性。JTextArea 具有用於換行的 bound 屬性,該屬性控制其是否換行。在默認情況下,換行屬性設定為 false(不換行)。 java.awt.TextArea 具有兩個屬性 rows 和 columns,這兩個屬性用來確定首選大小。JTextArea 用這些屬性來指示 viewport 的首選大小,此 viewport 被放置到 JScrollPane 中以匹配由 java.awt.TextArea 提供的功能。JTextArea 具有顯示所有文本所需的首選大小,以便在 JScrollPane 內部正常工作。如果 rows 或 columns 的值等於 0,則沿該軸的首選大小將用於沿相同軸上 viewport 的首選大小。 可以通過添加一個 TextEvent 的 TextListener 來對 java.awt.TextArea 的更改進行監視。在基於 JTextComponent 的組件中,更改通過 DocumentEvent 從模型傳播到 DocumentListeners。DocumentEvent 給出了更改的位置和更改種類(如果需要)。代碼片段如下所示:
DocumentListener myListener = ?;
JTextArea myArea = ?;
myArea.getDocument().addDocumentListener(myListener);
構造方法摘要
| |
---|---|
JTextArea () 構造一個新的 TextArea。 | |
JTextArea (Documentdoc) 構造一個新的 JTextArea,使其具有給定的文檔模型,所有其他參數均默認為 (null, 0, 0)。 | |
JTextArea (Documentdoc, Stringtext, int rows, int columns) 構造具有指定行數和列數以及給定模型的新的 JTextArea。 | |
JTextArea (int rows, int columns) 構造具有指定行數和列數的新的空 TextArea。 | |
JTextArea (Stringtext) 構造顯示指定文本的新的 TextArea。 | |
JTextArea (Stringtext, int rows, int columns) 構造具有指定文本、行數和列數的新的 TextArea。 | |
方法摘要
| |
---|---|
void | append (Stringstr) 將給定文本追加到文檔結尾。 |
protected Document | createDefaultModel () 如果沒有顯式給出構造時要使用的模型,則創建該模型的默認實現。 |
AccessibleContext | getAccessibleContext () 獲取與此 JTextArea 關聯的 AccessibleContext。 |
int | getColumns () 返回 TextArea 中的列數。 |
protected int | getColumnWidth () 獲取列的寬度。 |
int | getLineCount () 確定 文本區 中所包含的行數。 |
int | getLineEndOffset (int line) 確定給定行結尾處的偏移量。 |
int | getLineOfOffset (int offset) 將組件文本中的偏移量轉換為行號。 |
int | getLineStartOffset (int line) 確定給定行起始處的偏移量。 |
boolean | getLineWrap () 獲取文本區的換行策略。 |
Dimension | getPreferredScrollableViewportSize () 如果此組件被嵌入 JScrollPane 中,則返回 viewport 的首選大小。 |
Dimension | getPreferredSize () 返回 TextArea 的首選大小。 |
protected int | getRowHeight () 定義行高的意義。 |
int | getRows () 返回 TextArea 中的行數。 |
boolean | getScrollableTracksViewportWidth () 如果 viewport 總是強制要求此 Scrollable 的寬度與 viewport 的寬度相匹配,則返回 true。 |
int | getScrollableUnitIncrement (RectanglevisibleRect, int orientation, int direction) 顯示邏輯行或列的組件應根據方向的值計算滾動增量,此滾動增量將完全顯示一個新行或新列。 |
int | getTabSize () 獲取用於擴展選項卡的字元數。 |
String | getUIClassID () 返回 UI 的類 ID。 |
boolean | getWrapStyleWord () 獲取換行方式(如果文本區要換行)。 |
void | insert (Stringstr, int pos) 將指定文本插入指定位置。 |
protected String | paramString () 返回此 JTextArea 的字元串表示形式。 |
void | replaceRange (Stringstr, int start, int end) 用給定的新 文本替換 從指示的起始位置到結尾位置的文本。 |
void | setColumns (int columns) 設定此 TextArea 中的列數。 |
void | setFont (Fontf) 設定當前字型。 |
void | setLineWrap (boolean wrap) 設定文本區的換行策略。 |
void | setRows (int rows) 設定此 TextArea 的行數。 |
void | setTabSize (int size) 設定選項卡要擴大到的字元數。 |
void | setWrapStyleWord (boolean word) 設定換行方式(如果文本區要換行)。 |