国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Java實(shí)戰(zhàn)之用Spring開(kāi)發(fā)條形碼和驗(yàn)證碼

瀏覽:6日期:2022-08-13 13:39:00
一、條形碼

代碼如下:

import javax.swing.*;import java.awt.*;import java.awt.image.BufferedImage;import java.util.Random;public class Text extends JFrame { private static final int WIDTH=300;//窗口的寬度 private static final int HEIGHT=400;//窗口的高度 private static final int LINES=120;//內(nèi)部的線(xiàn)條數(shù)量 private static final int SPACE=10;//線(xiàn)條與線(xiàn)條之間的間距 private static JFrame jFrame=null; public static void main(String[] args) {initialize(); } private static void initialize(){//初始化窗口jFrame=new JFrame('條形碼');jFrame.setSize(WIDTH,HEIGHT);jFrame.setLayout(null);JLabel jLabel=new JLabel();jLabel.setBounds(0,0,WIDTH,80);jLabel.setIcon(new ImageIcon(setCode()));jFrame.add(jLabel);jFrame.setVisible(true);jFrame.setLocationRelativeTo(null);jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); } private static BufferedImage setCode() {Random random = new Random();BufferedImage bufferedImage = new BufferedImage(WIDTH, 80, BufferedImage.TYPE_INT_RGB);//創(chuàng)建一個(gè)圖片畫(huà)板Graphics g = bufferedImage.getGraphics();//得到畫(huà)筆g.setColor(Color.white);//設(shè)置畫(huà)筆顏色g.fillRect(0, 0, WIDTH, 80);//規(guī)定畫(huà)筆的一個(gè)范圍g.setColor(Color.black);//這個(gè)是設(shè)置線(xiàn)條的顏色for(int i=0;i<LINES;i++){ int row=random.nextInt(WIDTH)+SPACE; g.drawLine(row,0,row,HEIGHT);}return bufferedImage; }}

效果如下:

Java實(shí)戰(zhàn)之用Spring開(kāi)發(fā)條形碼和驗(yàn)證碼

二、驗(yàn)證碼

代碼如下:

import javax.swing.*;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import java.awt.image.BufferedImage;import java.util.Random;public class Text extends JFrame{ private final static char[] words=('1234567890' + 'abcdefghijklmnopqrstuvwxyz' + 'ABCDEFGHIJKLMNOPQRSTUVWXYZ').toCharArray(); private final static int WORDLENGTH=4; private final static int WIDTH=200; private final static int HEIGHT=100; private final static int STAR=200; private static Text t=null; private static TextField textFile=null; private static Object[] obj=null; private static Object[] drawCode(){BufferedImage bufferedImage=new BufferedImage(WIDTH,HEIGHT,BufferedImage.TYPE_INT_RGB);Graphics g=bufferedImage.getGraphics();char[] selectWord=new char[4];g.setColor(Color.LIGHT_GRAY);g.fillRect(0,0,WIDTH,HEIGHT);Random random=new Random();for(int i=0;i<WORDLENGTH;i++){ int n=random.nextInt(words.length); selectWord[i]=words[i]; g.setFont(new Font('微軟雅黑',0,random.nextInt(20)+40)); g.setColor(setRandomColor()); g.drawString(words[n]+'',i*WIDTH/WORDLENGTH,HEIGHT/2+10);}for(int i=0;i<STAR;i++){ g.setColor(setRandomColor()); g.setFont(new Font('楷書(shū)',0,40)); g.drawOval(random.nextInt(WIDTH),random.nextInt(HEIGHT),3, 3);}return new Object[]{selectWord,bufferedImage}; } private static Color setRandomColor(){Random colorRandom=new Random();return new Color(colorRandom.nextInt(256),colorRandom.nextInt(256),colorRandom.nextInt(256)); } public static void main(String[] args) {t=new Text();t.setLocationRelativeTo(null);t.setSize(WIDTH,200);t.setLayout(null);t.add(setLabel());t.add(setButton());t.add(setTextField());t.setVisible(true);t.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); }private static JLabel setLabel(){JLabel jLabel=new JLabel();obj=drawCode();jLabel.setIcon(new ImageIcon((BufferedImage)obj[1]));jLabel.setBounds(0,0,WIDTH,HEIGHT);jLabel.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) {jLabel.setIcon(new ImageIcon((BufferedImage)drawCode()[1])); }});return jLabel; } private static TextField setTextField(){textFile=new TextField();textFile.setFont(new Font('華文行楷',0,20));textFile.setBounds(5,120, 100,30);return textFile; } private static JButton setButton(){JButton jButton=new JButton('檢測(cè)');jButton.setBounds(110,120, 70,30);jButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) {System.out.println(textFile.getText().equals(obj[0])); }});return jButton; }}

效果如下:

Java實(shí)戰(zhàn)之用Spring開(kāi)發(fā)條形碼和驗(yàn)證碼

驗(yàn)證碼這里是因?yàn)闆](méi)有設(shè)置好字符編碼的原因,讓中文字符無(wú)法在窗口內(nèi)不顯示

驗(yàn)證碼就比條形碼難以點(diǎn)點(diǎn),但是基本的編寫(xiě)思想都是差不多的,但最難的還是在二維碼上,編寫(xiě)二維碼就需要要求編寫(xiě)者的算法能力足夠的扎實(shí),而且還要有足夠豐富的Java功底

到此這篇關(guān)于Java實(shí)戰(zhàn)之用Spring開(kāi)發(fā)條形碼和驗(yàn)證碼的文章就介紹到這了,更多相關(guān)Java Spring開(kāi)發(fā)條形碼和驗(yàn)證碼內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 国产精选经典三级小泽玛利亚 | 欧美俄罗斯一级毛片激情 | 久久成人免费观看草草影院 | 欧美一级一极性活片免费观看 | 无限观看社区在线视频 | 91麻精品国产91久久久久 | 日韩色视频一区二区三区亚洲 | 最新99国产成人精品视频免费 | 97视频在线播放 | 一级一片一a一片 | 日本一区二区免费在线观看 | 国产网站在线看 | 亚洲成人黄色在线 | 亚洲天堂男人 | 99爱在线精品视频免费观看9 | 久草国产在线观看 | 亚洲男人天堂视频 | 日韩亚洲欧美一区噜噜噜 | 亚洲视频日韩视频 | 国产精品久久久久久久久福利 | 97超级碰碰碰久久久观看 | 国产一级真人毛爱做毛片 | 亚洲成在 | 一级做a爰片性色毛片男 | 国产一毛片 | 免费播放巨茎人妖不卡片 | 全部免费的毛片在线看美国 | 日本三级香港三级乳网址 | 一区二区三区在线 | 欧 | 高清国产美女一级a毛片录 高清国产亚洲va精品 | 日韩三级影院 | 亚洲欧美人妖另类激情综合区 | 一级成人毛片免费观看欧美 | 欧美性色生活片免费播放 | 一区二区三区免费视频播放器 | 一区二区三区视频 | 欧美精品99| 日本草草影院 | 日韩一页| 久久久久久综合成人精品 | 九九色网 |