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);//寫入驗證碼
}
}
實現