一、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();
}
}
|
以上就是本文的全部内容,希望对大家的学习有所帮助。