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. Android的Databinding-单向绑定

    两种方式实现观察绑定. 一.POJO类实现android.databinding.Observable,在属性set方法中调用notifyPropertyChanged(BR.lastName); 其 ...

  2. 关于cxf生成客户端代码中的JAXBElement<String>

    1.使用自动生成的java文件中的 ObjectFactory构造入参 关于cxf生成客户端代码中的JAXBElement<String>    在使用cxf或者x-fire进行webse ...

  3. C# MemoryCache GCHandle

    MemoryCache在项目中用了很久,感觉比较简单,以前也看过里面的源代码,主要借用MemoryCacheStore来完成数据的存储,里面是线程安全的,MemoryCacheStore借用Hasht ...

  4. Centos PHP+Apache执行exec()等Linux脚本权限设置的详细步骤

    1. 查看一下你的Apache的执行用户是谁: lsof -i:80         运行之后的结果为: 从图中我们可以清楚的看到,httpd(也就是Apache)的执行用户为:exec_shell( ...

  5. JAVA中通过Jedis操作Redis连接与插入简单库

    一.简述 JAVA中通过Jedis操作Redis连接与插入简单库 二.依赖 <!-- https://mvnrepository.com/artifact/redis.clients/jedis ...

  6. MongoDB地理空间数据存储及检索

    目录 1.存入地理数据 GeoJSON数据存入 1.Ponit 点数据 2.LineString 线数据(多段线) 3. Polygon 多边形数据 4.MultiPoint多点.MultiLineS ...

  7. golang 小例子

    import ( "bytes" "encoding/binary" "encoding/gob" "fmt" ) fu ...

  8. ffmpeg 、Vlc参数

    ffmpeg.exe -loglevel error -probesize 32 -vsync passthrough -framerate 20 -f gdigrab -i desktop -fil ...

  9. php获取客户端IP地址的方法

    参考:https://www.cnblogs.com/rendd/p/6183094.html <?php function getip() { //strcasecmp 比较两个字符,不区分大 ...

  10. 【原创 Hadoop&Spark 动手实践 9】Spark SQL 程序设计基础与动手实践(上)

    [原创 Hadoop&Spark 动手实践 9]SparkSQL程序设计基础与动手实践(上) 目标: 1. 理解Spark SQL最基础的原理 2. 可以使用Spark SQL完成一些简单的数 ...