java小白——驗證碼窗體的實現

package gui.awt;

import java.awt.Color;
import java.awt.Font;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Panel;
import java.util.Random;

public class Text9 {

	public static void main(String[] args) {
		final Frame f = new Frame("驗證碼");
		final Panel panel = new MyPanel();
		f.add(panel);
		f.setSize(300,200);
		f.setLocationRelativeTo(null);//將Frame窗口居中
		f.setVisible(true);
		

	}

}
class MyPanel extends Panel{
	public void paint(Graphics g){
		int width = 160;
		int height = 40;
		g.setColor(Color.LIGHT_GRAY);//設置上下文顏色
		g.fillRect(0, 0, width, height);//填充驗證碼背景
		g.setColor(Color.BLACK);//設置上下文顏色
		g.drawRect(0, 0, width-1, height-1);//繪製邊框
		Random random =new Random();
		for(int i=0;i<100;i++){//繪製干擾點
			int x = random.nextInt(width)-2;
			int y = random.nextInt(height)-2;
			g.drawOval(x, y,2,2);
		}
		g.setFont(new Font("黑體",Font.BOLD,30));//設置驗證碼字體
		g.setColor(Color.BLUE);//設置驗證碼顏色
		char[] c =  ("0123456789abcdefghijkmnopqrstuvwxyzABCDEFG"
				+ "HIJKLMNPQRSTUVWXYZ").toCharArray();//產生隨機驗證碼
		StringBuilder sb = new StringBuilder();
		for(int i=0;i<4;i++){
			int pos = random.nextInt(c.length);
			char c1 = c[pos];
			sb.append(c1+" ");
		}
		g.drawString(sb.toString(), 20, 30);//寫入驗證碼
	}
}

實現
在這裏插入圖片描述

發佈了69 篇原創文章 · 獲贊 20 · 訪問量 1506
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章