文字框(JTextField)和文字域(JTextArea)的使用詳解
阿新 • • 發佈:2019-02-06
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()返回文字域的列數
JTextArea(String text) 構造顯示指定文字的新的 TextArea。 JTextArea(int rows, int columns) 構造具有指定行數和列數的新的空 TextArea。 JTextArea(String text, int 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高度的文字. test的程式碼如下:
GetText()返回文字域中的輸入文字值 getColumns()返回文字域的列數
setEditable(Boolean) 設定文字域是否為只讀狀態
Testd 的示例程式碼如下:
JTextArea(文字區)的使用: 1.JTextArea的常用構造方法: JTextArea() 構造新的 TextArea。import java.awt.BorderLayout; import java.awt.Container; import java.awt.Font; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTextField; public class JTextFieldTest extends JFrame{ JFrame jf; JTextField jtf1,jtf2,jtf3,jtf4; public static void main(String[] args) { new JTextFieldTest(); } public JTextFieldTest() { setTitle("TextFieldTest"); jtf1 = new JTextField("jtf1"); jtf2 = new JTextField("jtf2"); jtf3 = new JTextField("jtf3"); jtf4 = new JTextField("jtf4"); jtf4.setFont(new Font("諧體",Font.BOLD|Font.ITALIC,16)); //設定文字的水平對齊方式 jtf4.setHorizontalAlignment(JTextField.CENTER); setLayout(null); //設定絕對佈局 jtf1.setBounds(10, 0,300,50); jtf2.setBounds(10, 100, 300,50); jtf3.setBounds(10, 200, 300,50); jtf4.setBounds(10, 300, 300,50); add(jtf1); add(jtf2); add(jtf3); add(jtf4); setSize(400, 400); setLocationRelativeTo(null); setDefaultCloseOperation(EXIT_ON_CLOSE); setVisible(true); } }
JTextArea(String text) 構造顯示指定文字的新的 TextArea。 JTextArea(int rows, int columns) 構造具有指定行數和列數的新的空 TextArea。 JTextArea(String text, int 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高度的文字. test的程式碼如下:
import java.awt.BorderLayout; import java.awt.Color; import java.awt.Container; import java.awt.Font; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextArea; public class JTextAreaTest extends JFrame implements ActionListener{ JFrame jf; JPanel jpanel; JButton jb1, jb2, jb3; JTextArea jta = null; JScrollPane jscrollPane; public JTextAreaTest() { setTitle("JTextAreaTest"); setLayout(new BorderLayout()); jta = new JTextArea(10, 15); jta.setTabSize(4); jta.setFont(new Font("標楷體", Font.BOLD, 16)); jta.setLineWrap(true);// 啟用自動換行功能 jta.setWrapStyleWord(true);// 啟用斷行不斷字功能 jta.setBackground(Color.CYAN); jscrollPane = new JScrollPane(jta); jpanel = new JPanel(); jpanel.setLayout(new GridLayout(1, 3)); jb1 = new JButton("複製"); jb1.addActionListener(this); jb2 = new JButton("貼上"); jb2.addActionListener(this); jb3 = new JButton("剪下"); jb3.addActionListener(this); jpanel.add(jb1); jpanel.add(jb2); jpanel.add(jb3); add(jscrollPane, BorderLayout.CENTER); add(jpanel, BorderLayout.SOUTH); setSize(400, 300); setLocation(400, 200); setLocationRelativeTo(null); setDefaultCloseOperation(EXIT_ON_CLOSE); setVisible(true); } // 覆蓋介面ActionListener的方法actionPerformed public void actionPerformed(ActionEvent e) { if (e.getSource() == jb1) { jta.copy(); } else if (e.getSource() == jb2) { jta.paste(); } else if (e.getSource() == jb3) { jta.cut(); } } public static void main(String[] args) { new JTextAreaTest(); } }