packagecom.JTextField;import java.awt.*;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.util.Random;import javax.swing.*;importjava.awt.Font;importjava.awt.Graphics;/** 2018316
* xulifeng
* 2019-9-21*/
public class JTextFieldTest extendsJFrame{//private static final long serialVersionUID = -1929142760043481303L;
static String s=newString();publicString random()
{
Random r=newRandom();
String result= "";//进行6次循环
for(int i = 0 ; i < 6 ; i ++)
{//生成一个97~122的int型的整数
int intVal = (r.nextInt(26) + 97);int x=(r.nextInt(9)+49);int f=r.nextInt(2);//将intValue强制转换为char后连接到result后面
if(f==1)
result= result + (char)intVal;elseresult= result + (char)x;
}returnresult;
}publicJTextFieldTest()
{this.setTitle("请登录");this.setLayout(null);//创建容器
Container c=this.getContentPane();//创建用户名标签
JLabel jl1=new JLabel("用户名:");//创建密码标签
JLabel jl2=new JLabel("密码:");//创建验证码标签
JLabel jl3=new JLabel("验证码:");//创建文本框
final JTextField jt=newJTextField();//创建验证码输入文本框
final JTextField jt2=newJTextField();//创建验证码比对文本框按钮
s=this.random();
JButton jb3=newJButton(s);
jb3.setFont(new Font("楷体", Font.BOLD,20));
jb3.setForeground(Color.pink);//创建密码框
final JPasswordField jp=newJPasswordField();
jp.setEchoChar('*');//创建登录按钮
JButton jb=new JButton("登录");//创建注册按钮
JButton jb2=new JButton("注册");
jb.addActionListener(newActionListener() {
@Overridepublic voidactionPerformed(ActionEvent arg0) {//TODO Auto-generated method stub
if(jt.getText().trim().equals("xlf")&&new String(jp.getPassword()).trim().equals("fengge")&&jt2.getText().trim().equals(s))
{
JOptionPane.showMessageDialog(null, "登陆成功!");
System.exit(-1);
}else if(jt.getText().trim().equals("")||new String(jp.getPassword()).trim().equals("")||jt2.getText().trim().equals(""))
{
JOptionPane.showMessageDialog(null, "不能为空");
}else{
JOptionPane.showMessageDialog(null, "登录错误");
}
jt.setText("");
jp.setText("");
jt2.setText("");
Random r=newRandom();
String result= "";//进行6次循环
for(int i = 0 ; i < 6 ; i ++)
{//生成一个97~122的int型的整数
int intVal = (r.nextInt(26) + 97);int x=(r.nextInt(9)+49);int f=r.nextInt(2);//将intValue强制转换为char后连接到result后面
if(f==1)
result= result + (char)intVal;elseresult= result + (char)x;
}
s=result;
jb3.setText(s);
}
});
jb2.addActionListener(newActionListener() {
@Overridepublic voidactionPerformed(ActionEvent e) {//TODO Auto-generated method stub
JOptionPane.showMessageDialog(null, "注册成功\n用户名:xlf\n密码:fengge");
jt.setText("");
jp.setText("");
jt2.setText("");
Random r=newRandom();
String result= "";//进行6次循环
for(int i = 0 ; i < 6 ; i ++)
{//生成一个97~122的int型的整数
int intVal = (r.nextInt(26) + 97);int x=(r.nextInt(9)+49);int f=r.nextInt(2);//将intValue强制转换为char后连接到result后面
if(f==1)
result= result + (char)intVal;elseresult= result + (char)x;
}
s=result;
jb3.setText(s);
}
});
jb3.addActionListener(newActionListener() {
@Overridepublic voidactionPerformed(ActionEvent e) {//TODO Auto-generated method stub
Random r=newRandom();
String result= "";//进行6次循环
for(int i = 0 ; i < 6 ; i ++)
{//生成一个97~122的int型的整数
int intVal = (r.nextInt(26) + 97);int x=(r.nextInt(9)+49);int y=(r.nextInt(26)+65);int f=r.nextInt(3);//将intValue强制转换为char后连接到result后面
if(f==1)
result= result + (char)intVal;else if(f==0)
result= result + (char)x;elseresult= result + (char)y;
}
s=result;
jb3.setText(s);
}
});this.getRootPane().setDefaultButton(jb);
c.add(jb);
c.add(jb2);
c.add(jl1);
c.add(jl2);
c.add(jl3);
c.add(jt);
c.add(jp);
c.add(jt2);
c.add(jb3);
jl1.setBounds(10, 20, 90, 40);
jt.setBounds(60, 20, 210, 40);
jl2.setBounds(25, 70, 90, 40);
jl3.setBounds(10, 120, 90, 40);
jp.setBounds(60, 70, 210, 40);
jt2.setBounds(60, 120,100,40);
jb3.setBounds(180,120,100,40);
jb.setBounds(100, 180, 60, 30);
jb2.setBounds(100, 220, 60, 30);//设置窗体格式
this.setSize(500,300);this.setVisible(true);this.setResizable(true);this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}public static voidmain(String[] args) {//TODO Auto-generated method stub
newJTextFieldTest();
}
}