在圖形界面中,文本框和文本區是用于信息輸入輸出的組件。
文本框
文本框(JTextField)是界面中用于輸入和輸出一行文本的框。JTextField類用來建立文本框。與文本框相關的接口是ActionListener。
文本框處理程序的基本內容有以下幾個方面:
1.聲明一個文本框名。
2.建立一個文本框對象。
3.將文本框對象加入到某個容器。
4.對需要控制的文本框對象注冊監視器,監聽文本框的輸入結束(即輸入回車鍵)事件。
5.一個處理文本框事件的方法,完成對截獲事件進行判斷和處理。
JTextField類的主要構造方法:
1.JTextField(),文本框的字符長度為1。
2.JTextField(int columns),文本框初始值為空字符串,文本框的字符長度設為columns.
3.JTextField(String text),文本框初始值為text的字符串。
4.JTextField(String text,int columns);文本框初始值為text,文本框的字符長度為columns。
JTextField類的其他方法:
1.setFont(Font f),設置字體
2.setText(String text),在文本框中設置文本
3.getText(),獲取文本框中的文本。
4.setEditable(boolean),指定文本框的可編輯性,默認為true,可編輯。
5.setHorizontalAlignment(int alignment)設置文本對齊方式。對齊方式有:JTextField.LEFT, JTextField.CENTER, JTextField.RIGHT。
6.requestFocus(),設置焦點。
7.addActionListener(ActionListener ),為文本框設置動作監視器,指定ActionListener對象接收該文本框上發生的輸入結束動作事件。
8.removeActionListener(ActionListener)移去文本框監視器。
9.getColumns(),返回文本框的列數。
10.getMinimumSize(),返回文本框所需的最小尺寸。
11.getMinimumSize(int), 返回文本框在指定的字符數情況下,所需的最小尺寸。
12.getPreferredSize(),返回文本框希望具有的尺寸。
13.getPreferredSize(int),返回文本框在指定字符數情況下,希望具有的尺寸。
【例 11-8】小應用程序有兩個文本框。一個文本用于輸入一個整數,另一個文本框顯示這個整數的平方值。程序用字符串轉基本類型的方法Long.parseLong(text1.getText()),讀取文本框text1中的字符串,并將它轉換成整數。程序用Sqr類的實例作為監視器,但為了讓監視器能訪問主類的變量,主類中的變量被聲明為類變量,并且不設置訪問權限。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
import java.applet.*; import javax.swing.*; import java.awt.event.*; public class J508 extends Applet{ static JTextField text1,text2; Sqr s= new Sqr(); //創建監視器 public void init(){ text1= new JTextField( 10 ); text2= new JTextField( 10 ); add(text1); add(text2); text1.addActionListener(s); //類Sqr的實例s作為text1的監視器 } } class Sqr implements ActionListener{ public void actionPerformed(ActionEvent e){ //實現接口ActionListener if (e.getSource()==J508.text1){ long n=Long.parseLong(J508.text1.getText()); //將text1的文本轉換成long型數據 J508.text2.setText(String.valueOf(n*n)); //將n*n轉化為字符串 } else {} } } |
密碼框(JPasswordField)是一個單行的輸入組件,與JTextField基本類似。密碼框多一個屏蔽功能,就是在輸入時,都會以一個別的指定的字符(一般是*字符)輸出。除了前面介紹的文本框的方法外,另有一些密碼框常用的方法:
1.getEchoChar(),返回密碼的回顯字符。
2.setEchoChar(char),設置密碼框的回顯字符。
文本區
文本區(JTextArea)是窗體中一個放置文本的區域。文本區與文本框的主要區別是文本區可存放多行文本。javax.swing包中的JTextArea類用來建立文本區。JTextArea組件沒有事件。
文本區處理程序的基本內容有以下幾個方面:
1.聲明一個文本區名。
2.建立一個文本區對象。
3.將文本區對象加入到某個容器。
JTextArea類的主要構造方法:
1.JTextArea(),以默認的列數和行數,創建一個文本區對象。
2.JTextArea(String s),以s為初始值,創建一個文本區對象。
3.JTextArea(Strings ,int x,int y),以s為初始值,行數為x,列數為y,創建一個文本區對象。
4.JTextArea(int x,int y)以行數為x,以列數為y,創建一個文本區對象。
JTextArea類的其他常用方法:
1.setText(String s),設置顯示文本,同時清除原有文本。
2.getText(),獲取文本區的文本。
3.insert(String s,int x),在指定的位置插入指定的文本。
4.replace(String s,int x,int y),用給定的一替換從x位置開始到y位置結束的文本。
5.append(String s),在文本區追加文本。
6.getCarePosition(),獲取文本區中活動光標的位置。
7.setCarePosition(int n),設置活動光標的位置。
8.setLineWrap(boolean b),設置自動換行,缺省情況,不自動換行。
以下代碼創建一個文本區,并設置能自動換行。
JTextArea textA = new JTextArea(“我是一個文本區”,10,15);
textA.setLineWrap(true);//設置自動換行
當文本區中的內容較多,不能在文本區全部顯示時,可給文本區配上滾動條。給文本區設置滾動條可用以下代碼:
1
2
|
JTextArea ta = new JTextArea(); JScrollPane jsp = new JScrollPane(ta); //給文本區添加滾動條 |
以上所述就是本文的全部內容了,希望大家能夠喜歡。