JTextArea

优质
小牛编辑
126浏览
2023-12-01

介绍 (Introduction)

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

Class 声明 (Class Declaration)

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

public class JTextArea
   extends JTextComponent

类构造函数 (Class Constructors)

Sr.No.构造函数和描述
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。

Class Methods

Sr.No.方法和描述
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)

如果文本区域是换行,则设置使用的换行样式。

方法继承 (Methods Inherited)

该类继承以下类中的方法 -

  • javax.swing.text.JTextComponent
  • javax.swing.JComponent
  • java.awt.Container
  • java.awt.Component
  • java.lang.Object

JTextArea示例

使用您选择的任何编辑器创建以下Java程序,例如D:/ 》 SWING 》 com 》 xnip 》 gui 》

SwingControlDemo.java

package cn.xnip.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\xnip\gui\SwingControlDemo.java

如果没有错误发生,则表示编译成功。 使用以下命令运行该程序。

D:\SWING>java cn.xnip.gui.SwingControlDemo

验证以下输出。

Swing JTextArea