橘子味的心
标题: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);  
   }
}

执行上面示例代码,得到以下结果 -


目录

分类