求一个数字字母的JAVA验证码!

问题描述

如题!但是不需要在网页上运行!只要在电脑里直接打开就可以!在线等!求不要出现webservlet了...

解决方案

解决方案二:
/****/importjava.awt.*;importjava.awt.image.*;importjava.util.*;importjavax.swing.ImageIcon;importjavax.swing.JFrame;importjavax.swing.JLabel;publicclassImageCode{publicStringsRand="";publicStringsgbRand="";publicColorgetRandColor(intfc,intbc){//给定范围获得随机颜色Randomrandom=newRandom();if(fc>255)fc=255;if(bc>255)bc=255;intr=fc+random.nextInt(bc-fc);intg=fc+random.nextInt(bc-fc);intb=fc+random.nextInt(bc-fc);returnnewColor(r,g,b);}publicBufferedImagecreatImage(){//在内存中创建图象intwidth=60,height=20;BufferedImageimage=newBufferedImage(width,height,BufferedImage.TYPE_INT_RGB);//获取图形上下文Graphicsg=image.getGraphics();//生成随机类Randomrandom=newRandom();//设定背景色g.setColor(getRandColor(100,250));g.fillRect(0,0,width,height);//设定字体g.setFont(newFont("ComicSansMS",Font.PLAIN,18));//画边框//g.setColor(newColor(0,0,0));//g.drawRect(0,0,width-1,height-1);//随机产生155条干扰线,使图象中的认证码不易被其它程序探测到g.setColor(getRandColor(160,200));for(inti=0;i<155;i++){intx=random.nextInt(width);inty=random.nextInt(height);intxl=random.nextInt(12);intyl=random.nextInt(12);g.drawLine(x,y,x+xl,y+yl);}//取随机产生的认证码(4位数字)for(inti=0;i<4;i++){Stringrand=String.valueOf(random.nextInt(10));sRand+=rand;//将验证码显示到图象中g.setColor(newColor(20+random.nextInt(110),20+random.nextInt(110),20+random.nextInt(110)));g.drawString(rand,13*i+6,16);}//图象生效g.dispose();returnimage;}publicstaticvoidmain(String[]args){ImageCodeimg=newImageCode();JFramejf=newJFrame();jf.setSize(200,300);Containerct=jf.getContentPane();ImageIconii=newImageIcon(img.creatImage());JLabeljl=newJLabel(ii);ct.add(jl);jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);jf.setVisible(true);}}

解决方案三:
引用1楼huxiweng的回复:

/****/importjava.awt.*;importjava.awt.image.*;importjava.util.*;importjavax.swing.ImageIcon;importjavax.swing.JFrame;importjavax.swing.JLabel;publicclassImageCode{publicStringsRand="";publicStringsgbRand="";publicColorgetRandColor(intfc,intbc){//给定范围获得随机颜色Randomrandom=newRandom();if(fc>255)fc=255;if(bc>255)bc=255;intr=fc+random.nextInt(bc-fc);intg=fc+random.nextInt(bc-fc);intb=fc+random.nextInt(bc-fc);returnnewColor(r,g,b);}publicBufferedImagecreatImage(){//在内存中创建图象intwidth=60,height=20;BufferedImageimage=newBufferedImage(width,height,BufferedImage.TYPE_INT_RGB);//获取图形上下文Graphicsg=image.getGraphics();//生成随机类Randomrandom=newRandom();//设定背景色g.setColor(getRandColor(100,250));g.fillRect(0,0,width,height);//设定字体g.setFont(newFont("ComicSansMS",Font.PLAIN,18));//画边框//g.setColor(newColor(0,0,0));//g.drawRect(0,0,width-1,height-1);//随机产生155条干扰线,使图象中的认证码不易被其它程序探测到g.setColor(getRandColor(160,200));for(inti=0;i<155;i++){intx=random.nextInt(width);inty=random.nextInt(height);intxl=random.nextInt(12);intyl=random.nextInt(12);g.drawLine(x,y,x+xl,y+yl);}//取随机产生的认证码(4位数字)for(inti=0;i<4;i++){Stringrand=String.valueOf(random.nextInt(10));sRand+=rand;//将验证码显示到图象中g.setColor(newColor(20+random.nextInt(110),20+random.nextInt(110),20+random.nextInt(110)));g.drawString(rand,13*i+6,16);}//图象生效g.dispose();returnimage;}publicstaticvoidmain(String[]args){ImageCodeimg=newImageCode();JFramejf=newJFrame();jf.setSize(200,300);Containerct=jf.getContentPane();ImageIconii=newImageIcon(img.creatImage());JLabeljl=newJLabel(ii);ct.add(jl);jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);jf.setVisible(true);}}

想在这个主函数里加个输入框怎么办啊求代码
解决方案四:
Servlet生成验证码http://www.cppblog.com/biao/archive/2010/12/28/137589.htmlWeb也是生成一个BufferedImage,然后写到Response里,把这段代码提取出来就可以了

时间: 2024-08-30 16:16:56

求一个数字字母的JAVA验证码!的相关文章

求一个正则表达式(要求字符串长度6到12位,必须包含数字和字母,在此基础上可以包含其他任意字符)

问题描述 求一个正则表达式(要求字符串长度6到12位,必须包含数字和字母,在此基础上可以包含其他任意字符) (要求字符串长度6到12位,必须包含数字和字母,在此基础上可以包含其他任意字符) 解决方案 ^(?![^a-zA-Z]+$)(?!D+$).{6,12}$

求一正则表达式:必须至少为8个字符长,包含:一个小写字母,大写字母,数字或特殊字符 - !)

问题描述 求一正则表达式:必须至少为8个字符长,包含:一个小写字母,大写字母,数字或特殊字符-!) 解决方案 解决方案二:<script>varregstring="a1123Adf!";if(/[0-9a-zA-Z-!]{8,}/g.test(regstring)&&/[0-9]{1,}/g.test(regstring)&&/[a-z]{1,}/g.test(regstring)&&/[A-Z]{1,}/g.test(re

怎样求一个固定4位随机数(字母+数字),且第一位不能为数字0,字母I和O不能在随机数中出现,不能连续两位都出现数字0.应该怎么做?

问题描述 怎样求一个固定4位随机数(字母+数字),且第一位不能为数字0,字母I和O不能在随机数中出现,不能连续两位都出现数字0.应该怎么做? 解决方案 解决方案二:首先构造一个字符串seed,排除了I.O等然后在字符串中随机取,取出来是0的话判断上一个是否也是0解决方案三:不好意思,我看得不是很明白!!是否能说详细点,或者贴段代码上来看看!!麻烦啦!!解决方案四:我一会给你个代码,很容易的.解决方案五:privatestringRandomStr4(){Randomr=newRandom();c

求在字符串中匹配中文数字组合的java正则表达式

问题描述 求一个在字符串中识别 中文和数字组合的子串 的java方法,如用正则表达式来匹配.如何匹配? 中文和数字组合的子串 子串格式为:1.中文个数 为 3-6个字. 2.数字 可以固定在1-4位, 正则为d{1,4}. 3."号"字如"小镇100号""大街101号" 这种形式 输入为 1个字符串 s="我在小镇100号"; 输出为 result = "小镇100号"; 输入为 1个字符串 s="

php生成数字字母的验证码图片_php技巧

php生成数字字母的验证码图片 <?php header ('Content-Type: image/png'); $image=imagecreatetruecolor(100, 30); $color=imagecolorallocate($image, 255, 255, 255); imagefill($image, 20, 20, $color); //只含有数字 // for($i=0;$i<4;$i++){ // $font=6; // $x=rand(5,10)+$i*100/

原生js实现数字字母混合验证码的简单实例_javascript技巧

本文实例讲述了原生js实现数字字母混合验证码的全部代码,重点是注释很详细,便于大家理解,特分享给大家供大家参考.具体如下: 运行效果截图如下: 具体代码如下: <!DOCTYPE html> <html> <head> <meta charset="gb2312"> <title></title> <style type="text/css"> body, div { margin:

求s=a+aa+aaa+aaaa+aa...a的值(其中a是一个数字)

查看全套"c语言习题集" 题目: 求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字.例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制. 1.程序分析:关键是计算出每一项的值. 2.程序源代码: #include "stdio.h"#include "conio.h"main(){ int a,n,count=1; long int sn=0,tn=0; printf("pleas

javascript实现数字+字母验证码的简单实例

 本篇文章只要是对javascript实现数字+字母验证码的简单实例进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 实例如下:  代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www

效果-求一个java 类型的 双直立插值算法放缩处理图片代码?

问题描述 求一个java 类型的 双直立插值算法放缩处理图片代码? 网上很多代码调用之后生成的图片 不是黑色的 就是放大后没什么效果 解决方案 有没有人知道啊 怎么解决