Swing - JTextArea 类



介绍

JTextArea 类是一个用于显示纯文本的多行区域。

类声明

以下是javax.swing.JTextArea类的声明:

public class JTextArea
   extends JTextComponent

类构造函数

序号 构造函数及描述
1

JTextArea()

构造一个新的文本区域。

2

JTextArea(Document doc)

使用给定的文档模型和所有其他参数的默认值(null, 0, 0)构造一个新的 JTextArea。

3

JTextArea(Document doc, String text, int rows, int columns)

使用指定行数、列数和给定模型构造一个新的 JTextArea。

4

JTextArea(int rows, int columns)

使用指定行数和列数构造一个新的空文本区域。

5

JTextArea(String text)

构造一个显示指定文本的新文本区域。

6

JTextArea(String text, int rows, int columns)

使用指定的文本和行数、列数构造一个新的文本区域。

类方法

序号 方法及描述
1

void append(String str)

将给定文本追加到文档末尾。

2

protected Document createDefaultModel()

创建模型的默认实现,如果构造时没有显式给出,则使用此实现。

3

AccessibleContext getAccessibleContext()

获取与此 JTextArea 关联的 AccessibleContext。

4

int getColumns()

返回文本区域中的列数。

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()

返回文本区域的首选大小。

13

protected int getRowHeight()

定义行高的含义。

14

int getRows()

返回文本区域中的行数。

15

boolean getScrollableTracksViewportWidth()

如果视口应始终强制此 Scrollable 的宽度与视口的宽度匹配,则返回 true。

16

int getScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction)

显示逻辑行或列的组件应计算将完全显示一个新行或列的滚动增量,具体取决于 orientation 的值。

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)

设置此文本区域的列数。

24

void setFont(Font f)

设置当前字体。

25

void setLineWrap(boolean wrap)

设置文本区域的换行策略。

26

void setRows(int rows)

设置此文本区域的行数。

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 程序,例如在D:/ > SWING > com > tutorialspoint > gui >

SwingControlDemo.java

package com.tutorialspoint.gui;
 
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
 
public class SwingControlDemo {
   private JFrame mainFrame;
   private JLabel headerLabel;
   private JLabel statusLabel;
   private JPanel controlPanel;

   public SwingControlDemo(){
      prepareGUI();
   }
   public static void main(String[] args){
      SwingControlDemo  swingControlDemo = new SwingControlDemo();      
      swingControlDemo.showTextAreaDemo();
   }
   private void prepareGUI(){
      mainFrame = new JFrame("Java Swing Examples");
      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("Comments: ", JLabel.RIGHT);
      
      final JTextArea commentTextArea = 
         new JTextArea("This is a Swing tutorial " 
         +"to make GUI application in Java.",5,20);

      JScrollPane scrollPane = new JScrollPane(commentTextArea);    
      JButton showButton = new JButton("Show");

      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);  
   }
}

使用命令提示符编译程序。转到D:/ > SWING并键入以下命令。

D:\SWING>javac com\tutorialspoint\gui\SwingControlDemo.java

如果未出现错误,则表示编译成功。使用以下命令运行程序。

D:\SWING>java com.tutorialspoint.gui.SwingControlDemo

验证以下输出。

Swing JTextArea
swing_controls.htm
广告