java的JFrame界面添加验证码组件
1.新建一个类,里面新建一个设置4位数验证码的方法。返回一个4位数的字符串。
package test13;
public class RandomUtil {
//新建一个类,里面新建一个设置4位数验证码的方法。
public String random() {
java.util.Random r = new java.util.Random();
String code = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
StringBuilder sb = new StringBuilder();
for (int i = 0; i < 4; i++) {
int index = r.nextInt(code.length());
char c = code.charAt(index);
sb.append(c);
}
String random = sb.toString();
return random;
}
}
2.在界面JFrame类中,创建RandomUtil对象,引用RandomUtil的random方法,获取返回的随机验证码。
3.把获取的验证码random,设置给veriCodeDisplayLabel这个组件的的文字内容里。
4.当单击这个验证码时,需要它改变字符串的内容(实现单击验证码更换功能)。设置一个鼠标单击的监听器,单击的时候,重新调取random方法,设置验证码内容。
//设置随机验证码方法
RandomUtil r=new RandomUtil(); //创建随机验证码对象
String random = r.random(); //获取返回的随机码,赋值给random。
JLabel veriCodeDisplayLabel=new JLabel(random); //需要设置字符串,正好random是个字符串
veriCodeDisplayLabel.setBounds(400,180,100,40);
veriCodeDisplayLabel.setFont(new Font("微软雅黑",Font.PLAIN,20));
veriCodeDisplayLabel.setForeground(Color.RED);
veriCodeDisplayLabel.setCursor(new Cursor(Cursor.HAND_CURSOR));
veriCodeDisplayLabel.addMouseListener(
new MouseAdapter(){
@Override
public void mouseClicked(MouseEvent e){
String s=r.random();
veriCodeDisplayLabel.setText(s);
}
}
);