JTextArea
類是一個顯示純文字的多行區域。
以下是javax.swing.JTextArea
類的宣告 -
public class JTextArea
extends JTextComponent
編號 | 建構函式 | 描述 |
---|---|---|
1 | JTextArea() |
構造一個新的TextArea 。 |
2 | JTextArea(Document doc) |
使用給定的文件模型構造一個新的JTextArea,並為所有其他引數(null ,0 ,0 )預設設定。 |
3 | JTextArea(Document doc, String text, int rows, int columns) |
構造具有指定行數和列數以及給定模型的新JTextArea 。 |
4 | JTextArea(int rows, int columns) |
構造具有指定行數和列數的新空TextArea 。 |
5 | JTextArea(String text) |
構造一個顯示指定文字的新TextArea 。 |
6 | JTextArea(String text, int rows, int columns) |
構造一個具有指定文字和行數和列數的新TextArea 。 |
編號 | 類方法 | 描述 |
---|---|---|
1 | void append(String str) |
|
2 | protected Document createDefaultModel() |
如果沒有明確給出,則建立要在構造中使用的模型的預設實現。 |
3 | AccessibleContext getAccessibleContext() |
獲取與此JTextArea關聯的AccessibleContext。 |
4 | int getColumns() |
返回TextArea中的列數。 |
5 | protected int getColumnWidth() |
獲取列寬。 |
6 | int getLineCount() |
獲取列寬。 |
7 | int getLineEndOffset(int line) |
確定區域中包含的行數。 |
8 | int getLineOfOffset(int offset) |
將偏移量轉換為元件文字到行號。 |
9 | int getLineStartOffset(int line) |
確定給定行開頭的偏移量。 |
10 | boolean getLineWrap() |
獲取文字區域的換行策略。 |
11 | Dimension getPreferredScrollableViewportSize() |
如果此元件嵌入在JScrollPane中,則返回視口的首選大小。 |
12 | Dimension getPreferredSize() |
返回TextArea 的首選大小。 |
13 | protected int getRowHeight() |
定義行高的含義。 |
14 | int getRows() |
返回TextArea 中的行數。 |
15 | boolean getScrollableTracksViewportWidth() |
如果視口應始終強制此Scrollable 的寬度與視口的寬度匹配,則返回true 。 |
16 | int getScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction) |
顯示邏輯行或列的元件應計算捲動增量,該增量將完全顯示一個新行或列,具體取決於方向的值。 |
17 | int getTabSize() |
獲取用於展開索引標籤的字元數。 |
18 | String getUIClassID() |
返回UI的類ID。 |
19 | boolean getWrapStyleWord() |
獲取文字區域換行時使用的換行樣式。 |
20 | void insert(String str, int pos) |
在指定位置插入指定的文字。 |
21 | protected String paramString() |
返回此JTextArea的字串表示形式。 |
22 | void replaceRange(String str, int start, int end) |
使用指定的新文字替換指示的開始位置到結束位置的文字。 |
23 | void setColumns(int columns) |
設定此TextArea的列數。 |
24 | void setFont(Font f) |
設定當前字型。 |
25 | void setLineWrap(boolean wrap) |
設定文字區域的換行策略。 |
26 | void setRows(int rows) |
設定此TextArea的行數。 |
27 | void setTabSize(int size) |
設定展開索引標籤的字元數。 |
28 | void setWrapStyleWord(boolean word) |
如果文字區域是換行,則設定使用的換行樣式。 |
該類繼承以下類中的方法 -
javax.swing.text.JTextComponent
javax.swing.JComponent
java.awt.Container
java.awt.Component
java.lang.Object
使用編輯器建立以下Java程式 -
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class JTextAreaExample {
private JFrame mainFrame;
private JLabel headerLabel;
private JLabel statusLabel;
private JPanel controlPanel;
public JTextAreaExample(){
prepareGUI();
}
public static void main(String[] args){
JTextAreaExample swingControlDemo = new JTextAreaExample();
swingControlDemo.showTextAreaDemo();
}
private void prepareGUI(){
mainFrame = new JFrame("Java Swing JTextArea範例");
mainFrame.setSize(400,400);
mainFrame.setLayout(new GridLayout(3, 1));
mainFrame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent windowEvent){
System.exit(0);
}
});
headerLabel = new JLabel("", JLabel.CENTER);
statusLabel = new JLabel("",JLabel.CENTER);
statusLabel.setSize(350,100);
controlPanel = new JPanel();
controlPanel.setLayout(new FlowLayout());
mainFrame.add(headerLabel);
mainFrame.add(controlPanel);
mainFrame.add(statusLabel);
mainFrame.setVisible(true);
}
private void showTextAreaDemo(){
headerLabel.setText("Control in action: JTextArea");
JLabel commentlabel= new JLabel("評論內容: ", JLabel.RIGHT);
final JTextArea commentTextArea =
new JTextArea("這個是一個簡單的Swing JTextArea \n"
+" 用於製作使用者圖形介面。",5,20);
JScrollPane scrollPane = new JScrollPane(commentTextArea);
JButton showButton = new JButton("顯示評論");
showButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
statusLabel.setText( commentTextArea.getText());
}
});
controlPanel.add(commentlabel);
controlPanel.add(scrollPane);
controlPanel.add(showButton);
mainFrame.setVisible(true);
}
}
執行上面範例程式碼,得到以下結果 -