文本框(JTestField)和密码框(JPassword)
JTextField是一个轻量级的组件,可以编辑单行文本,实现剪切,复制,粘贴,快捷键等工作,如果文本的长度超出显示范围,会自动滚动文本,JTextField类的构造方法
JTextFrame() :创建一个内容为空的文本框
JTextFrame(Document doc,String text,int columns) :创建具有指定文本内容,文本储存模型和列数的文本框
JTextFrame(int columns) :指定列数的文本框
JTextFrame(String text) :指定文本内容的文本框
JTextFrame(String text,int columns) :指定文本内容和列数的文本框
public void setText(String s):设置文本框中的文本为s。
public String getText():获取文本框中的文本。
public void setEchoChar(char c):设置文本框中的回显字符,只显示字符c。
public void setEditable(boolean b):设置文本框是否可编辑,默认为可编辑的。
public void addActionListener(ActionListener):向文本框增加动作监视器。
public void removeActionListener(ActionLisener):删除文本框上的动作监视器。
public void requesFocus() :获得焦点
实例代码:
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();
}
}