1 package javashiyan;

2

3 import java.awt.Color;

4 import java.awt.event.ActionEvent;

5 import java.awt.event.ActionListener;

6

7 import javax.swing.*;

8

9 public class Yanzhen extends JFrame

10 {

11 //定义成员变量

12 private Mypanel mp;

13 private JButton b;

14 private JTextField txt;

15 private ActionListener listener;

16

17 public Yanzhen()

18 {

19 Realize();

20 }

21 public void Realize()

22 {

23 JFrame f=new JFrame("验证码");

24 //实例化

25 b=new JButton();

26 b.addActionListener(listener);

27 ActionEvent e;

28 b.setIcon(new ImageIcon("D://button//刷新.jpg"));//载入图片

29 b.setLocation(200,100);//设置位置

30 b.setSize(32,32);//设置大小

31 b.setVisible(true);//设置显示

32

33 txt=new JTextField();

34 txt.setSize(90,30);

35 txt.setLocation(10,100);

36 txt.setVisible(true);

37

38 mp=new Mypanel();

39 mp.setSize(100,30);

40 mp.setLocation(100,100);

41

42 JButton jb=new JButton();

43

44

45 f.add(mp);

46 f.add(b);

47 f.add(txt);

48

49 f.setLayout(null);

50 f.setSize(400, 400);//设置界面大小

51 f.getContentPane().setBackground(Color.white);//设置界面的背景颜色

52 f.getContentPane().setVisible(true);

53 f.setVisible(true);

54 }

55

56

57

58 public void actionPerformed(ActionEvent e) {

59 // TODO Auto-generated method stub

60

61

62 }

63 }

1 package javashiyan;

2

3 import java.awt.*;

4 import java.util.*;

5

6 public class Mypanel extends Panel {

7 public void paint(Graphics g)

8 {

9 int height = 50;

10 int width = 90;

11 //验证码框背景颜色

12 g.setColor(Color.white);

13 //填充验证码背景

14 g.fillRect(0, 0, width, height);

15 g.setColor(Color.BLACK);

16 g.drawRect(0, 0, width-1, height-1);

17 Random r = new Random();

18 for(int i = 0;i<100;i )

19 {

20 int x = r.nextInt(width)-1;

21 int y = r.nextInt(height)-1;

22 g.drawOval(x, y, 2, 2);//画干扰的圆点

23 }

24 for(int i=0;i<3;i )

25 {

26 int x1=r.nextInt(width)-1;

27 int y1=r.nextInt(height)-1;

28 int x2=r.nextInt(width)-1;

29 int y2=r.nextInt(height)-1;

30 g.drawLine(x1, y1, x2, y2);//画干扰的线段

31 }

32

33 g.setFont(new Font("黑体",Font.BOLD,20));//设置验证码字体以及大小

34 g.setColor(Color.BLUE);//设置验证码字体颜色

35 //生成随机验证码

36 char[] tmp = ("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ").toCharArray();

37 StringBuilder sb = new StringBuilder();

38 for(int i = 0;i<4;i )

39 {

40 int pos = r.nextInt(tmp.length);

41 char c = tmp[pos];

42 sb.append(c " ");

43 }

44 g.drawString(sb.toString(), 10, 15);//写入验证码

45 }

46 }

1 package javashiyan;

2

3

4

5 import java.util.Random;

6

7 public class main {

8

9 public static void main(String[] args)

10 {

11 Yanzhen dang=new Yanzhen();

12 }

13

14 }

15

来源:http://www.icode9.com/content-1-41951.html

java第一次上机_java第一次上机实验--验证码相关推荐

  1. java第一次作业_Java第一次作业

    个人感觉Java的知识点很多,是C语言难以比的,所以应经常写Java程序熟练其知识点.但同时也应通过C语言与Java的相似处,在学习Java的时候模仿C:如有些简单的C语言代码,稍微做下修改,便可以在 ...

  2. java程序设计实践教程答案潘浩主编_JAVA程序设计上机指导与习题选解

    第1章 Java编程环境 1.1 JDK的安装与配置 1.2 Java程序的编辑.编译和运行 1.3 制作JAR文件包 1.4 上机实验 习题 第2章 Java基本数据类型 2.1 Java基本数据类 ...

  3. java基本语法实验体会_Java基本语法实验报告

    题目:Java基本语法 课程名称:JAVA语言程序设计 班    级:信1705-1 姓    名:刘雨馨学号:20173445 指导教师:王建民 正文部分格式要求: 1. 正文汉子部分要求宋体小四, ...

  4. 红牛农场java代码_Java面向对象程序设计实验指导模板代码(171页)-原创力文档...

    PAGE 1 PAGE 24 Java面向对象程序设计实验指导代码 内容简介 本书是<Java面向对象程序设计>的配套实验指导和习题解答.本书的第一部分为16次上机实践的内容,每次上机实践 ...

  5. java 登陆短信验证码_Java实现短信验证码

    原标题:Java实现短信验证码 声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权:凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记. 短信验证码 短信验证码都是调 ...

  6. java短信验证码失效时间_Java实现短信验证码--设置发送间隔时间,以及有效时间(Java+Redis)...

    Java实现短信验证码--设置发送间隔时间,以及有效时间(Java+Redis) 这篇文章,实现了Java发送手机短信验证码发送的间隔时间,以及手机验证码的有效时间和手机验证码格式的合法性验证,可以防 ...

  7. Java设置短信间隔时间_Java实现短信验证码--设置发送间隔时间,以及有效时间(Java+Redis)...

    标签:url   control   operation   短信验证码   reg   cep   ppi   任务   用户 Java实现短信验证码--设置发送间隔时间,以及有效时间(Java+R ...

  8. 20155303 《Java程序设计》实验一(Java开发环境的熟悉)实验报告

    20155303 <Java程序设计>实验一(Java开发环境的熟悉)实验报告 一.实验内容及步骤 (一)使用JDK编译.运行简单的java程序 命令行下的程序开发 步骤一(新建文件夹): ...

  9. java web编程技术解题与实验指导_javaweb编程技术实验指导书

    javaweb编程技术实验指导书 <Java Web编程技术> 实 验 指 导 书 沈泽刚 编写2010 年 3 月目 录 实验一 简单的 Servlet 与 JSP .1 实验二 HTT ...

最新文章

  1. 迪杰斯特拉算法。简单理解。内含示例
  2. scrum看板工具做问题跟踪
  3. 【C 语言】数据类型本质 ( 数据类型 | 数据类型本质 | 数组地址 | 数组首元素地址 )
  4. linux x64 asm 参数传递,NASM汇编学习系列(1)——系统调用和参数传递
  5. Spring 事务处理参数
  6. 将不确定变为确定~老赵写的CodeTimer是代码性能测试的利器
  7. SpringMVC redirect中文乱码问题
  8. 浅谈 Spark 的多语言支持
  9. sass、gulp应用
  10. Proxy Hosted Virtual
  11. mysql ip地址查询 优化_mysql数据库字段(ip地址,时间)优化
  12. asm数据文件迁移(os–asm)
  13. 一句python,一句R︱python中的字符串操作、中文乱码、NaN情况
  14. text-align 属性,输入框数字向右靠
  15. Java常用命令与参数设置
  16. 异数OS 织梦师-云(五)-- 容器服务化,绿色拯救未来。
  17. oracle 表字段拆分,oracle 字段拆分
  18. Java实习生常规技术面试题每日十题Java基础(五)
  19. java计算机毕业设计信用卡增值业务系统小程序用户端源码+mysql数据库+lw文档+系统+调试部署
  20. 数据中心拥塞控制集中式架构Fastpass之深度剖析

热门文章

  1. python爬虫ssl错误_Python爬虫:Requests的SSLError:certificate verify failed问题解决方案6条...
  2. 产品文档如何说清楚产品业务?关注这几点就够了
  3. 眼图 非差分线_LVDS低电压差分信号简介
  4. Java DataInputStream readUnsignedByte()方法(带示例)
  5. Java BigInteger类| 带实例的splitAndRemainder()方法
  6. centos php fpm 停止_如何关闭php-fpm进程?
  7. java8新特性_JAVA8十大新特性详解
  8. 运用python的方式_对Python使用mfcc的两种方式详解
  9. android layout_width 属性,android:layout_weight属性详解
  10. MySQL 中日志的面试题总结