1. 程式人生 > >(總結)Swing元件的使用---文字框(JTextField)與文字區(JTextArea)

(總結)Swing元件的使用---文字框(JTextField)與文字區(JTextArea)

一:JTextField的(文字框)使用:

 JTextField 是一個輕量級元件,它允許編輯單行文字。

1.JTextField的常用構造方法:

  JTextField() 構造一個新的 TextField

 JTextField(int columns) 構造一個具有指定列數的新的空 TextField

  JTextField(String text) 構造一個用指定文字初始化的新TextField

 JTextField(String text, int columns) 構造一個用指定文字和列初始化的新TextField

2.JTextField的常用方法:

    SetText(string) 設定文字域中的文字值
    GetText()返回文字域中的輸入文字值

    getColumns()返回文字域的列數

    setEditable(Boolean) 設定文字域是否為只讀狀態

3.JTextField的使用示例:

  1. import java.awt.*;  
  2. import java.awt.event.*;  
  3. import javax.swing.*;  
  4. publicclass JTextFieldDemo1 {  
  5.     JFrame jf;  
  6.     JPanel jp;  
  7.     JTextField jtf1,jtf2,jtf3,jtf4;  
  8.     public JTextFieldDemo1() {  
  9.         jf = new JFrame("TextField案例");  
  10.         Container contentPane = jf.getContentPane();  
  11.         contentPane.setLayout(new BorderLayout());  
  12.         jp = new JPanel();  
  13.         jtf1 = new JTextField();  
  14.         jtf2 = new JTextField(10);  
  15.         jtf3 = new
     JTextField("指定文字內容");  
  16.         jtf4 = new JTextField("指定內容+指定長度(只讀狀態)",30);  
  17.         jtf3.setEnabled(false);  
  18.         jtf4.setFont(new Font("諧體",Font.BOLD|Font.ITALIC,16));  
  19.         //設定文字的水平對齊方式
  20.         jtf4.setHorizontalAlignment(JTextField.CENTER);  
  21.         jp.add(jtf1);  
  22.         jp.add(jtf2);  
  23.         jp.add(jtf3);  
  24.         jp.add(jtf4);  
  25.         contentPane.add(jp);  
  26.         jf.pack();  
  27.         jf.setLocation(400200);  
  28.         jf.setVisible(true);  
  29.         jf.addWindowListener(new WindowAdapter() {  
  30.             publicvoid windowClosing(WindowEvent e) {  
  31.                 System.exit(0);  
  32.             }  
  33.         });  
  34.     }  
  35.     publicstaticvoid main(String[] args) {  
  36.         new JTextFieldDemo1();  
  37. }  
  38. }  
截圖:


二:JTextArea(文字區)的使用:

1.JTextArea的常用構造方法:

        JTextArea() 構造新的 TextArea。

        JTextArea(String  text) 構造顯示指定文字的新的 TextArea。

        JTextArea(int rows, int columns)  構造具有指定行數和列數的新的空 TextArea。

        JTextArea(String  textint rows, int columns)  構造具有指定文字、行數和列數的新的 TextArea。

使用示例:

JTextArea t1 = new JTextArea();
JTextArea t2 = new JTextArea(2, 8);
JTextArea t3 = new JTextArea("JTextArea3");
JTextArea t4 = new JTextArea("JTextArea4", 5, 10);

2.JTextArea的常用方法:

    使用示例:

t1.setText("JTextArea1");// setText()設定文字顯示的內容
t2.append("JTextArea2");// append()方法會將給定文字追加到文件結尾。
t4.setLineWrap(true);// 設定文字區的換行策略。
t4.setFont(new Font("標楷體", Font.BOLD, 16));  //設定當前字型。
t4.setTabSize(2);//使用setTabSize()方法設定[Tab]鍵的跳離距離

將JTextArea放入JScrollPane中,這樣就能利用滾動的效果看到輸入超過JTextArea高度的文字.

3.JTextArea使用的案例:

  1. import java.awt.*;  
  2. import java.awt.event.*;  
  3. import javax.swing.*;  
  4. //實現介面ActionListener
  5. publicclass JTextAreaDemo3 implements ActionListener {  
  6.     JFrame jf;  
  7.     JPanel jpanel;  
  8.     JButton jb1, jb2, jb3;  
  9.     JTextArea jta = null;  
  10.     JScrollPane jscrollPane;  
  11.     public JTextAreaDemo3() {  
  12.         jf = new JFrame("JTextArea案例3");  
  13.         Container contentPane = jf.getContentPane();  
  14.         contentPane.setLayout(new BorderLayout());  
  15.         jta = new JTextArea(1015);  
  16.         jta.setTabSize(4);  
  17.         jta.setFont(new Font("標楷體", Font.BOLD, 16));  
  18.         jta.setLineWrap(true);// 啟用自動換行功能
  19.         jta.setWrapStyleWord(true);// 啟用斷行不斷字功能
  20.         jta.setBackground(Color.pink);  
  21.         jscrollPane = new JScrollPane(jta);  
  22.         jpanel = new JPanel();  
  23.         jpanel.setLayout(new GridLayout(13));  
  24.         jb1 = new JButton("複製");  
  25.         jb1.addActionListener(this);  
  26.         jb2 = new JButton("貼上");  
  27.         jb2.addActionListener(this);  
  28.         jb3 = new JButton("剪下");  
  29.         jb3.addActionListener(this);  
  30.         jpanel.add(jb1);  
  31.         jpanel.add(jb2);  
  32.         jpanel.add(jb3);  
  33.         contentPane.add(jscrollPane, BorderLayout.CENTER);  
  34.         contentPane.add(jpanel, BorderLayout.SOUTH);  
  35.         jf.setSize(400300);  
  36.         jf.setLocation(400200);  
  37.         jf.setVisible(true);  
  38.         jf.addWindowListener(new WindowAdapter() {  
  39.             publicvoid windowClosing(WindowEvent e) {  
  40.                 System.exit(0);  
  41.             }  
  42.         });  
  43.     }  
  44.     // 覆蓋介面ActionListener的方法actionPerformed
  45.     publicvoid actionPerformed(ActionEvent e) {  
  46.         if (e.getSource() == jb1) {  
  47.             jta.copy();  
  48.         } elseif (e.getSource() == jb2) {  
  49.             jta.paste();  
  50.         } elseif (e.getSource() == jb3) {  
  51.             jta.cut();  
  52.         }  
  53.     }  
  54.     publicstaticvoid main(String[] args) {  
  55.         new JTextAreaDemo3();  
  56.     }  
  57. }  

執行結果演示:

出處:http://blog.csdn.net/lyxaiclr/article/details/7433929