Java:JTextArea類


JTextArea文本域組件,其實跟JTextField文本框組件的使用非常相似,只不過文本框是一行,但文本域可以是多行。

JTextArea類所在包

JPasswordField類的所在包不用說大家都知道是javax.swing包了,所以開頭導入。

import javax.swing.*;

JTextArea類構造方法

public JTextArea();
public JTextArea(String text);
public JTextArea(int rows, int columns);
public JTextArea(String text, int rows, int columns);

主要的構造方法就這些,這里簡單說一下text就是文本域中的初始內容,rows和columns分別代表文本域的行數和列數。

JTextArea類使用方法

JTextArea的使用真的可以說跟JTextField極為相似,先是設置文本,下面的代碼就是將文本域的內容設置為字符串text。如果你想清空所有文本,其實就是將文本設置為一個空串,即讓text = ""。

text_area.setText(text);

接下來是追加文本的方法,就是在當前文本的后面追加一個字符串text,實現起來很簡單。

text_area.append(text)

之后是將焦點重新轉移到文本域,因為當你點完按鈕后,焦點就到了按鈕,如果要繼續在文本域內輸入需要點一下文本域才能繼續編輯,所以JTextArea類又提供了一個方法來幫助你將焦點重新回到文本域。

text_area.requestFocus();

下一個方法是用來獲取當前文本域內的文本的,返回的是一個字符串。

String str = text_area.getText();

最后一個方法是來設置自動換行的,默認情況下我們會發現如果我們輸入到頭了,文本域不會自動為你換行,所以為了讓文本域在一行到頭時自動換行,JTextArea類又提供了一個方法來解決這個問題。這里的flag為一個boolean類型的值,如果為true則設置自動換行,否則是取消自動換行。

text_area.setLineWrap(flag);

代碼

package technology;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class MyFirstTextArea extends JFrame {
	final static long serialVersionUID = 1L;
	JPanel panel_center = new JPanel(), panel_south = new JPanel();
	Container container = getContentPane();
	JTextArea text_area = new JTextArea("文本域", 10, 20);
	JButton clear_button = new JButton("清空"), laugh_button = new JButton("哈哈"), system_button = new JButton("記錄");
	
	public MyFirstTextArea()
	{
		super("JFrame窗體");
		this.setBounds(200, 100, 400, 300);
		text_area.setLineWrap(true);
		clear_button.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				text_area.setText("");
				text_area.requestFocus();
			}
		});
		laugh_button.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				text_area.append("233");
				text_area.requestFocus();
			}
		});
		system_button.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				System.out.println(text_area.getText());
				System.out.println("====================================");
				text_area.requestFocus();
			}
		});
		panel_center.add(text_area);
		panel_south.setLayout(new FlowLayout(FlowLayout.CENTER, 25, 20));
		panel_south.add(clear_button);
		panel_south.add(laugh_button);
		panel_south.add(system_button);
		container.setLayout(new BorderLayout());
		container.add(panel_center, BorderLayout.CENTER);
		container.add(panel_south, BorderLayout.SOUTH);
		this.setVisible(true);
	}
	
	public static void main(String[] args) {
		new MyFirstTextArea();
	}
}

效果圖如下:

在這里插入圖片描述


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM