《零基礎學Java》 文本組件 文本組件在實際的項目開發中使用的最為廣泛,尤其是 文本框 與 密碼框 組件。 JTextField文本框組件 文本框(JTextField)是用來 顯示 或 編輯 一個單行文本,在 Swing 中通過 javax.swing.JTextField類 對象創建(該類繼承 ...
《零基礎學Java》
-
文本組件
文本組件在實際的項目開發中使用的最為廣泛,尤其是 文本框 與 密碼框 組件。
-
JTextField文本框組件
文本框(JTextField)是用來 顯示 或 編輯 一個單行文本,在 Swing 中通過 javax.swing.JTextField類 對象創建(該類繼承了 javax.swing.JTextComponent類)。
常用的 JTextField文本框 構造方法
-
public JTextField(); 構造一個無參的文本框。
-
public JTextField(text); 構造一個指定文本(初始值)的文本框。
-
public JTextField(fieldwidth); 構造一個指定列數的文本框。
-
public JTextField(text , fieldwidth); 構造一個指定文本、指定列數的文本框。
JTextField文本框組件 實例
import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; public class Demo9 extends JFrame { public Demo9(){ setBounds(100,100,250,100); setDefaultCloseOperation(EXIT_ON_CLOSE); Container c = getContentPane(); c.setLayout(new FlowLayout()); JTextField jt = new JTextField();//添加一個文本框 jt.setText("初始值");//設置文本框的初始值 jt.setColumns(20);//設置文本框的長度為20個字元 jt.setFont(new Font("黑體",Font.PLAIN,20));//設置文本字體格式為 黑體,普通樣式,字體大寫為20 c.add(jt); JButton btn = new JButton("確認");//創建一個按鈕 btn.addActionListener(new AbstractAction() {//添加按鈕事件 @Override public void actionPerformed(ActionEvent e) { System.out.println("文本框的內容為:"+jt.getText());//獲取文本框中的文本值 jt.setText("");//清空文本框中的內容 jt.requestFocus();//獲取焦點(游標) } }); c.add(btn); setVisible(true); } public static void main(String[] args) { new Demo9(); } }
JTextField文本框組件 實例輸出結果:
-
-
JPasswordField密碼框組件
密碼框(JPasswordField)與文本框的定義、用法基本相同,唯一不同的是密碼框會將用戶輸入的字元串進行加密(密碼框對象是通過 javax.swing.JPasswordField 類創建的)。
JPasswordField密碼框組件 常用的構造方法
-
public JPasswordField();
-
public JPasswordField(text);
-
public JPasswordField(fieldwidth);
-
public JPasswordField(text , fieldwidth);
JPasswordField密碼框組件 實例
import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; public class Demo10 extends JFrame { public Demo10(){ setBounds(100,100,500,100); setDefaultCloseOperation(EXIT_ON_CLOSE); Container c = getContentPane(); c.setLayout(new FlowLayout()); JPasswordField jp = new JPasswordField();//創建一個密碼框 jp.setColumns(20);//設置密碼框長度為20 jp.setFont(new Font("Arial",Font.BOLD,18));//設置密碼框字體為Arial,加粗,字型大小18 jp.setEchoChar('#');//設置密碼框顯示的字元為# jp.addActionListener(new AbstractAction() {//添加動作監聽(觸發方式:回車) @Override public void actionPerformed(ActionEvent e) { char ch[] = jp.getPassword();//獲取密碼框的字元數組 賦值給ch String str = new String(ch); System.out.println(str); } }); c.add(jp); setVisible(true); } public static void main(String[] args) { new Demo10(); } }
JPasswordField密碼框組件 實例輸出結果:
-
-
JTextArea文本域組件
文本域(JTextArea)可以在程式中接受用戶輸入的多行文字。
JTextArea文本域組件 常用的構造方法
構造方法 解釋 public JTextArea(); 構造JTextArea類的對象 public JTextArea(text); 構造一個指定文本的JTextArea類的對象 public JTextArea(rows , columns); 構造一個指定行數、列數,沒有指定文本的JTextArea類的對象 JTextArea文本域組件 實例
import javax.swing.*; import java.awt.*; public class Demo11 extends JFrame { public Demo11(){ setBounds(100,100,200,100); setDefaultCloseOperation(EXIT_ON_CLOSE); Container c = getContentPane(); c.setLayout(new FlowLayout()); JTextArea jt = new JTextArea();//創建一個文本域 JScrollPane jp = new JScrollPane(jt);//給文本域添加滾動面板 jt.setFont(new Font("楷體",Font.BOLD,20));//設置文本域字體 jt.setText("這是文本域的預設值");//設置文本域的預設值 jt.setRows(5);//設置文本域預設的行數 jt.setColumns(20);//設置文本域預設的列數 jt.append("添加內容");//在文本域原來預設值的後面添加內容 jt.insert("內容",2);//在文本域的第二個字元後面插入內容 c.add(jp); setVisible(true); } public static void main(String[] args) { new Demo11(); } }
JTextArea文本域組件 實例輸出結果: