最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Swing圖形界面實現(xiàn)可動態(tài)刷新的驗證碼

 更新時間:2017年05月15日 15:06:30   作者:Joker_Ye  
這篇文章主要為大家詳細(xì)介紹了Swing圖形界面實現(xiàn)可動態(tài)刷新的驗證碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了Swing實現(xiàn)可動態(tài)刷新的驗證碼的具體代碼,供大家參考,具體內(nèi)容如下

不多,code代碼如下:

import java.awt.Color; 
import java.awt.Font; 
import java.awt.Graphics; 
import java.awt.Toolkit; 
import java.awt.event.MouseAdapter; 
import java.awt.event.MouseEvent; 
import java.util.Random; 
import javax.swing.JFrame; 
 
public class CheckCode extends JFrame { 
private static Random random = new Random(); 
private int width = 53;//驗證碼寬度 
private int height =25;//驗證碼高度 
private int font_size = 20;//驗證碼顏色 
private int x = 100;//驗證碼所在窗體X坐標(biāo) 
private int y = 100;//驗證碼所在窗體Y坐標(biāo) 
private int jam = 5;//干擾元素 建議使用 4~7 之間的數(shù)字 
private String code = "";//保存驗證碼 
 
public CheckCode(){//初始化窗體信息 
super("驗證碼"); 
setVisible(true); 
setBounds((Toolkit.getDefaultToolkit().getScreenSize().width-300)/2, (Toolkit.getDefaultToolkit().getScreenSize().height-300)/2, 300, 200); 
setDefaultCloseOperation(EXIT_ON_CLOSE); 
addMouseListener(new MouseAdapter() { 
public void mouseClicked(MouseEvent e) { 
repaint(); 
} 
}); 
} 
 
public Color getRandomColor(){//獲得隨機(jī)顏色 
int R=random.nextInt(255),G=random.nextInt(255),B=random.nextInt(255); 
return new Color(R,G,B); 
} 
 
public String getRandomString(){//獲得驗證碼 
int num = random.nextInt(9); 
code = num+""; 
return num+""; 
} 
 
public void checkCode(Graphics g){// 繪畫驗證碼 
drawBorder(g);  
drawCode(g); 
drawJam(g); 
} 
 
public void drawBorder(Graphics g){//繪畫邊框和背景 
Color gc = g.getColor(); 
g.setColor(Color.WHITE); 
g.fillRect(x, y, width, height); 
g.setColor(Color.BLACK); 
g.drawRect(x, y, width, height); 
g.setColor(gc); 
} 
 
public void drawCode(Graphics g){//繪畫驗證碼內(nèi)容 
Color gc = g.getColor(); 
for(int i=0;i<4;i++){ 
g.setColor(getRandomColor()); 
g.setFont(new Font("宋體",Font.BOLD,font_size)); 
g.drawString(getRandomString(), x+5+(i*12), y+font_size); 
} 
g.setColor(gc); 
} 
 
public void drawJam(Graphics g){//繪畫干擾元素 
Color gc = g.getColor(); 
for(int i=0;i<jam;i++){ 
g.setColor(getRandomColor()); 
g.drawLine(x+random.nextInt(width), y+random.nextInt(height), x+random.nextInt(width), y+random.nextInt(height)); 
} 
g.setColor(gc); 
} 
 
public void paint(Graphics g) { 
Color c = g.getColor(); 
g.drawString("單擊可刷新驗證碼", 30, 50); 
checkCode(g); 
g.setColor(c); 
} 
 
public static void main(String[] args) { 
new CheckCode(); 
} 
} 

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java如何固定大小的線程池

    Java如何固定大小的線程池

    這篇文章主要介紹了Java固定大小的線程池操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • MyBatis在Mapper中傳遞多個參數(shù)的四種方法詳解

    MyBatis在Mapper中傳遞多個參數(shù)的四種方法詳解

    這篇文章主要介紹了MyBatis在Mapper中傳遞多個參數(shù)的四種方法,文章通過代碼示例介紹的非常詳細(xì),具有一定的參考價值,,需要的朋友可以參考下
    2023-09-09
  • 如何對quartz定時任務(wù)設(shè)置結(jié)束時間

    如何對quartz定時任務(wù)設(shè)置結(jié)束時間

    這篇文章主要介紹了如何對quartz定時任務(wù)設(shè)置結(jié)束時間問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Java實現(xiàn)字符串匹配的示例代碼

    Java實現(xiàn)字符串匹配的示例代碼

    這篇文章主要介紹了Java實現(xiàn)字符串匹配,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04
  • Java NIO服務(wù)器端開發(fā)詳解

    Java NIO服務(wù)器端開發(fā)詳解

    這篇文章主要介紹了Java NIO服務(wù)器端開發(fā)詳解,具有一定借鑒價值,需要的朋友可以參考下。
    2017-12-12
  • Java軟件編程培訓(xùn)機(jī)構(gòu)靠譜嗎

    Java軟件編程培訓(xùn)機(jī)構(gòu)靠譜嗎

    隨著網(wǎng)絡(luò)信息化的快速發(fā)展,Java培訓(xùn)受到越來越多人的青睞,目前Java工程師的薪資水平在不斷攀升,但是有好多企業(yè)還是招不到合適的人才,為什么呢
    2017-04-04
  • Java中通過sftp協(xié)議實現(xiàn)上傳下載的示例代碼

    Java中通過sftp協(xié)議實現(xiàn)上傳下載的示例代碼

    在java開發(fā)中遇到需要將linux系統(tǒng)中指定目錄下的文件下載到windows本地的需求,本文就來介紹Java中通過sftp協(xié)議實現(xiàn)上傳下載,具有一定的參考價值,感興趣的可以了解一下
    2024-06-06
  • 一看就懂 詳解JAVA泛型通配符T,E,K,V區(qū)別

    一看就懂 詳解JAVA泛型通配符T,E,K,V區(qū)別

    泛型從字面上理解,是指一個類、接口或方法支持多種類型,使之廣泛化、一般化和更加通用。通配符只有在修飾一個變量時會用到,使用它可方便地引用包含了多種類型的泛型;下面我們來深入了解一下吧
    2019-06-06
  • spring boot simple類型cache使用詳解

    spring boot simple類型cache使用詳解

    這篇文章主要介紹了spring boot simple類型cache使用,這里用的不是 redis 的緩存,simple 的緩存默認(rèn)用的是java的ConcurrentHashMap, 單純的simple緩存,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2023-10-10
  • 短網(wǎng)址的原理與生成方法(Java實現(xiàn))

    短網(wǎng)址的原理與生成方法(Java實現(xiàn))

    這篇文章主要給大家介紹了關(guān)于短網(wǎng)址的原理與生成方法,利用的是Java實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10

最新評論

广德县| 陈巴尔虎旗| 苗栗县| 阳新县| 广元市| 大连市| 洮南市| 东光县| 清苑县| 商洛市| 女性| 临猗县| 罗源县| 沙河市| 本溪| 庆安县| 任丘市| 贺兰县| 南川市| 旌德县| 苏尼特右旗| 哈巴河县| 石景山区| 虞城县| 丰宁| 淮滨县| 仙居县| 仙桃市| 武陟县| 察隅县| 马龙县| 芦溪县| 象州县| 民乐县| 武邑县| 鄂州市| 阿瓦提县| 乌拉特前旗| 宁波市| 阳江市| 双牌县|