Swing JTextArea類

JTextArea類是一個顯示純文本的多行區域。

類聲明

以下是javax.swing.JTextArea類的聲明 -

public class JTextArea
   extends JTextComponent

類構造函數

編號 構造函數 描述
1 JTextArea() 構造一個新的TextArea
2 JTextArea(Document doc) 使用給定的文檔模型構造一個新的JTextArea,並為所有其他參數(null0,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

JTextArea示例

使用編輯器創建以下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);
   }
}

執行上面示例代碼,得到以下結果 -

JTextArea


上一篇: Swing控件 下一篇: Swing事件處理