package javashiyan;

 import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; import javax.swing.*; public class Yanzhen extends JFrame
{
//定义成员变量
private Mypanel mp;
private JButton b;
private JTextField txt;
private ActionListener listener; public Yanzhen()
{
Realize();
}
public void Realize()
{
JFrame f=new JFrame("验证码");
//实例化
b=new JButton();
b.addActionListener(listener);
ActionEvent e;
b.setIcon(new ImageIcon("D://button//刷新.jpg"));//载入图片
b.setLocation(200,100);//设置位置
b.setSize(32,32);//设置大小
b.setVisible(true);//设置显示 txt=new JTextField();
txt.setSize(90,30);
txt.setLocation(10,100);
txt.setVisible(true); mp=new Mypanel();
mp.setSize(100,30);
mp.setLocation(100,100); JButton jb=new JButton(); f.add(mp);
f.add(b);
f.add(txt); f.setLayout(null);
f.setSize(400, 400);//设置界面大小
f.getContentPane().setBackground(Color.white);//设置界面的背景颜色
f.getContentPane().setVisible(true);
f.setVisible(true);
} public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub }
}
 package javashiyan;

 import java.awt.*;
import java.util.*; public class Mypanel extends Panel {
public void paint(Graphics g)
{
int height = 50;
int width = 90;
//验证码框背景颜色
g.setColor(Color.white);
//填充验证码背景
g.fillRect(0, 0, width, height);
g.setColor(Color.BLACK);
g.drawRect(0, 0, width-1, height-1);
Random r = new Random();
for(int i = 0;i<100;i++)
{
int x = r.nextInt(width)-1;
int y = r.nextInt(height)-1;
g.drawOval(x, y, 2, 2);//画干扰的圆点
}
for(int i=0;i<3;i++)
{
int x1=r.nextInt(width)-1;
int y1=r.nextInt(height)-1;
int x2=r.nextInt(width)-1;
int y2=r.nextInt(height)-1;
g.drawLine(x1, y1, x2, y2);//画干扰的线段
} g.setFont(new Font("黑体",Font.BOLD,20));//设置验证码字体以及大小
g.setColor(Color.BLUE);//设置验证码字体颜色
//生成随机验证码
char[] tmp = ("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ").toCharArray();
StringBuilder sb = new StringBuilder();
for(int i = 0;i<4;i++)
{
int pos = r.nextInt(tmp.length);
char c = tmp[pos];
sb.append(c + " ");
}
g.drawString(sb.toString(), 10, 15);//写入验证码
}
}
 package javashiyan;

 import java.util.Random;

 public class main {

     public static void main(String[] args)
{
Yanzhen dang=new Yanzhen();
} }

java第一次上机实验--验证码的更多相关文章

  1. Java第一次上机实验源代码

    小学生计算题: package 第一次上机实验_; import java.util.*; public class 小学计算题 { public static void main(String[] ...

  2. java第一次上机练习作业

    1.已知a,b均是整型变量,写出将a,b两个变量中的值互换的程序.(知识点:变量和 运算符综合应用) int a = 5, b = 10; int temp; temp = a; a = b; b = ...

  3. 20145221 《Java程序设计》实验报告一:Java开发环境的熟悉(Windows+IDEA)

    20145221 <Java程序设计>实验报告一:Java开发环境的熟悉(Windows+IDEA) 实验要求 使用JDK编译.运行简单的Java程序: 使用IDEA 编辑.编译.运行.调 ...

  4. 南京邮电大学java第一次实验报告

    实 验 报 告 ( 2017 / 2018学年 第2学期) 课程名称 JAVA语言程序设计 实验名称 Java集成开发环境的安装与使用. Java变量.表达式与控制结构 实验时间 2018 年 4 月 ...

  5. Java第一次实验 20145104张家明

    Java第一次实验 实验报告 实验要求: 1.使用JDK编译.运行简单的Java程序 2.使用IDEA 编辑.编译.运行.调试Java程序 实验内容: 1.使用JDK编译.运行简单的Java程序: 2 ...

  6. 20155210 潘滢昊 Java第一次实验---凯撒密码

    Java第一次实验---凯撒密码 实验内容 实现凯撒密码,并进行测试. 实验代码 import java.io.*; import java.util.Scanner; public class ks ...

  7. 20145312《Java第一次实验报告》

    20145312<Java第一次实验报告> Java开发环境的熟悉(Windows+Idea) 一.实验内容 使用Idea编辑.编译.运行.调试Java程序. 使用JDK编译.运行简单的J ...

  8. java第一次实验总结&第三周总结

    Java第一次实验报告,java开发环境与简单的Java程序 一.实验目的 1.熟悉JDK开发环境 2.熟练掌握结构化程序设计方法 二.实验内容 打印输出所有的"水仙花数",所谓& ...

  9. JAVA第一次实验 ——实验楼

    北京电子科技学院(BESTI) 实     验    报     告 课程:Java程序设计 班级:1352  姓名:潘俊洋  学号:20135230 成绩:             指导教师:娄嘉鹏 ...

随机推荐

  1. LSTM Networks

    Understanding LSTM Networks Recurrent Neural Networks Humans don’t start their thinking from scratch ...

  2. RabbitMQ 可靠投递

    RabbitMQ 可靠投递 标签: RabbitMQ shovel-plugin ConfirmCallback RabbitMQ消息投递 背景 confirmCallback 确认模式 return ...

  3. Project with Match in aggregate not working in mongodb

    [问题] 2down votefavorite I am trying to fetch data based on some match condition. First I've tried th ...

  4. zigw 和 nanoWatch, libudev.so 和 XMR 挖矿程序查杀记录

    最近这两天以来,服务器一致声音很响.本来以为有同事在运行大的程序,结果后来发现持续很长时间都是这样,并没有停的样子.后来查了一下,发现有几个可疑进程导致,干掉之后,果然服务器静悄悄了. 但是,问题并没 ...

  5. R语言︱处理缺失数据&&异常值检验、离群点分析、异常值处理

    在数据挖掘的过程中,数据预处理占到了整个过程的60% 脏数据:指一般不符合要求,以及不能直接进行相应分析的数据 脏数据包括:缺失值.异常值.不一致的值.重复数据及含有特殊符号(如#.¥.*)的数据 数 ...

  6. OpenLayers WorkShop 快速学习通道

    学习地址:https://openlayers.org/workshop/en/ OpenLayers Workshop Introduction Basics Creating a map Zoom ...

  7. HighLight.js 使用Demo

    复制下面代码,保存为html,浏览器打开预览即可. <!DOCTYPE html> <html> <head> <meta charset="utf ...

  8. system generator学习笔记【02】

    作者:桂. 时间:2018-05-20  23:28:04 链接:https://www.cnblogs.com/xingshansi/p/9059668.html 前言 继续学习sysgen.接触s ...

  9. 刨根问底 | Elasticsearch 5.X集群多节点角色配置深入详解【转】

    转自:https://blog.csdn.net/laoyang360/article/details/78290484 1.问题引出 ES5.X节点类型多了ingest节点类型. 针对3个节点.5个 ...

  10. Asp.Net百度站长工具的主动推送功能

    public static string PostUrl(string[] urls) { try { string formUrl = "http://data.zz.baidu.com/ ...