资源描述:
《java小应用程序实现中文验证码功能》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、用javaApplication应用程序完成中文验证码:(本程序仅供参考,版本所有权归东方学院林华所有)1.创建验证码生成类makeCertPic:importjava.awt.Color;importjava.awt.Font;importjava.awt.Graphics;importjava.awt.image.BufferedImage;importjava.util.Random;publicclassmakeCertPic{BufferedImageimage2=null;//用于暂时存储生成的图片privatecharmapTable[]={'我','国','色',
2、'动','人','的','天','城','日','阳','明','华','薇','事','半','功','好','德','地','灵','电','脑','卓','子','曰','一','见','钟','情','请'};/***功能:生成彩色验证码图片*参数width为生成图片的宽度,参数height为生成图片的高度*/publicStringgetCertPic(intwidth,intheight){if(width<=0)width=60;if(height<=0)height=20;BufferedImageimage=newBufferedImage(width,heig
3、ht,BufferedImage.TYPE_INT_RGB);//获取图形上下文Graphicsg=image.getGraphics();//设定背景色g.setColor(Color.white);g.fillRect(0,0,width,height);//画边框g.setColor(Color.black);g.drawRect(0,0,width-1,height-1);//取随机产生的认证码StringstrEnsure="";//4代表4位验证码,如果要生成更多位的认证码,则加大数值for(inti=0;i<4;++i){strEnsure+=mapTable[(i
4、nt)(mapTable.length*Math.random())];//Math.random()产生的值在0.0到1.0之间}// 将认证码显示到图像中,如果要生成更多位的认证码,增加drawString语句g.setColor(Color.red);g.setFont(newFont("宋体",Font.PLAIN,18));Stringstr=strEnsure.substring(0,1);g.drawString(str,8,17);str=strEnsure.substring(1,2);g.drawString(str,20,15);str=strEnsure
5、.substring(2,3);g.drawString(str,35,18);str=strEnsure.substring(3,4);g.drawString(str,45,15);image2=image;//暂存图片returnstrEnsure;//返回字符串验证码}//图片提供方法publicBufferedImagegetImage(){returnimage2;}}2.创建应用小窗口类ZHCheck:importjava.awt.Color;importjava.awt.EventQueue;importjava.awt.datatransfer.StringSe
6、lection;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.awt.image.BufferedImage;importjava.util.Arrays;importjavax.swing.BorderFactory;importjavax.swing.Icon;importjavax.swing.ImageIcon;importjavax.swing.JButton;importjavax.swing.JFrame;importjavax.swing.JLabel
7、;importjavax.swing.JOptionPane;importjavax.swing.JPanel;importjavax.swing.JPasswordField;importjavax.swing.JTextField;importjavax.swing.border.Border;importjavax.swing.border.EtchedBorder;importjavax.swing.border.TitledBorder;importorg.omg.CO