Swing常用组件之文本框和文本区
JTextField是一个轻量级的组件,可以编辑单行文本,实现剪切,复制,粘贴,快捷键等工作,如果文本的长度超出显示范围,会自动滚动文本,JTextField类的构造
一、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的使用示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | 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(); } } |
二、JTextArea(文本区)的使用
1.JTextArea的常用构造方法:
JTextArea() 构造新的 TextArea。
JTextArea(String text) 构造显示指定文本的新的 TextArea。
JTextArea(int rows, int columns) 构造具有指定行数和列数的新的空 TextArea。
JTextArea(String text, int rows, int columns) 构造具有指定文本、行数和列数的新的 TextArea。
使用示例:
1 2 3 4 | 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 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | 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(); } } |
以上就是本文的全部内容,希望对大家的学习有所帮助。