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
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);
}
}
执行上面示例代码,得到以下结果 -