Swing經常使用組件之文本框和文本區。本站提示廣大學習愛好者:(Swing經常使用組件之文本框和文本區)文章只能為提供參考,不一定能成為您想要的結果。以下是Swing經常使用組件之文本框和文本區正文
1、JTextField(文本框)的應用
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的應用示例:
package ch10; import java.awt.event.*; import javax.swing.*; public class LoginTest extends JFrame implements ActionListener { private JPanel jp = new JPanel(); JLabel name = new JLabel("請輸出用戶名"); JLabel password = new JLabel("請輸出暗碼"); JLabel show = new JLabel(""); private JLabel[] jl = new JLabel[]{name,password,show}; JButton login = new JButton("登錄"); JButton reset = new JButton("重置"); private JButton[] jb = new JButton[]{login,reset}; private JTextField jname= new JTextField(); private JPasswordField jpass = new JPasswordField(); public LoginTest() { jp.setLayout(null); for(int i=0;i<2;i++) { jl[i].setBounds(30,20+40*i,180,20); jb[i].setBounds(30+110*i,100,80,20); jb[i].addActionListener(this); jp.add(jl[i]); jp.add(jb[i]); } jname.setBounds(130,15,100,20); jp.add(jname); jname.addActionListener(this); jpass.setBounds(130,60,100,20); jp.add(jpass); jpass.addActionListener(this); jpass.setEchoChar('*'); jl[2].setBounds(10,180,270,20); jp.add(jl[2]); this.add(jp); this.setBounds(200,200,300,300); this.setVisible(true); this.setTitle("登錄窗口"); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public void actionPerformed(ActionEvent a) { if(a.getSource()==jname) { jpass.requestFocus(); } else if(a.getSource()==jb[1]) { jl[2].setText(""); jname.setText(""); jpass.setText(""); jname.requestFocus(); } else { if(jname.getText().equals("lixiang")&&String.valueOf(jpass.getPassword()).equals("201407239")) { jl[2].setText("登錄勝利,迎接您的到來!"); } else { jl[2].setText("對不起,您的暗碼或用戶名毛病!"); } } } public static void main(String args[]) { new LoginTest(); } }
2、JTextArea(文本區)的應用
1.JTextArea的經常使用結構辦法:
JTextArea() 結構新的 TextArea。
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高度的文字.
3.JTextArea應用的案例:
import java.awt.*; import java.awt.event.*; import javax.swing.*; //完成接口ActionListener public class JTextAreaDemo3 implements ActionListener { JFrame jf; JPanel jpanel; JButton jb1, jb2, jb3; JTextArea jta = null; JScrollPane jscrollPane; public JTextAreaDemo3() { jf = new JFrame("JTextArea案例3"); Container contentPane = jf.getContentPane(); contentPane.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.pink); 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); contentPane.add(jscrollPane, BorderLayout.CENTER); contentPane.add(jpanel, BorderLayout.SOUTH); jf.setSize(400, 300); jf.setLocation(400, 200); jf.setVisible(true); jf.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); } // 籠罩接口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 JTextAreaDemo3(); } }
以上就是本文的全體內容,願望對年夜家的進修有所贊助。