当前位置: 首页 > news >正文

深圳网站建设 网站设计网站建设难点和重点

深圳网站建设 网站设计,网站建设难点和重点,wordpress动态图片,一周热点新闻我主要使用使用 Java Swing 库创建一个 GUI 窗口,然后在窗口中显示生成的算术验证码图片,并提供一个文本框和一个按钮,输入验证码并验证显示结果。 代码如下: package calculate; import javax.swing.*; import java.awt.*; imp…

我主要使用使用 Java Swing 库创建一个 GUI 窗口,然后在窗口中显示生成的算术验证码图片,并提供一个文本框和一个按钮,输入验证码并验证显示结果。

代码如下:

package calculate;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.BufferedImage;
public class ArithmeticValidateCodeExample extends JFrame implements ActionListener {private static final int WIDTH = 100;     // 图片宽度private static final int HEIGHT = 80;     // 图片高度private static final int FONT_SIZE = 20;  // 字体大小private BufferedImage image;              // 验证码图片private String arithmeticExpression;       // 算术表达式private int arithmeticResult;              // 算术表达式的结果private JLabel label;                      // 显示算术表达式和"请输入验证码结果"private JTextField textField;              // 获取用户输入的结果public ArithmeticValidateCodeExample() {// 生成算术表达式和结果arithmeticExpression = generateArithmeticExpression();arithmeticResult = calculateArithmeticExpression(arithmeticExpression);// 创建验证码图片image = generateValidateCodeImage(arithmeticExpression);// 设置JFrame的属性setSize(WIDTH + 80, HEIGHT + 100);  // 加上100的高度为了留出空间放"请输入验证码结果"和输入框setLocationRelativeTo(null);setTitle("算数验证码");// 创建一个JLabel用于显示验证码图片JLabel imageLabel = new JLabel(new ImageIcon(image));getContentPane().add(imageLabel, BorderLayout.NORTH);// 添加"请输入验证码结果"和输入框及"验证"按钮label = new JLabel("请输入验证码结果:");textField = new JTextField(8);JButton button = new JButton("验证");button.addActionListener(this);JPanel inputPanel = new JPanel(new FlowLayout());inputPanel.add(label);inputPanel.add(textField);inputPanel.add(button);getContentPane().add(inputPanel, BorderLayout.CENTER);}public static void main(String[] args) {ArithmeticValidateCodeExample example = new ArithmeticValidateCodeExample();example.setVisible(true);example.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}@Overridepublic void actionPerformed(ActionEvent e) {String userInput = textField.getText();int userResult = Integer.parseInt(userInput);if (userResult == arithmeticResult) {JOptionPane.showMessageDialog(null, "验证通过!");} else {JOptionPane.showMessageDialog(null, "验证失败!");}}private static String generateArithmeticExpression() {int number1 = (int) (Math.random() * 100);int number2 = (int) (Math.random() * 100);int operator = (int) (Math.random() * 4);char operatorChar;switch (operator) {case 0:operatorChar = '+';break;case 1:operatorChar = '-';break;case 2:operatorChar = '*';break;case 3:operatorChar = '/';break;default:operatorChar = '+';}return number1 + " " + operatorChar + " " + number2;}private static int calculateArithmeticExpression(String arithmeticExpression) {String[] components = arithmeticExpression.split(" ");int number1 = Integer.parseInt(components[0]);char operator = components[1].charAt(0);int number2 = Integer.parseInt(components[2]);int result;switch (operator) {case '+':result = number1 + number2;break;case '-':result = number1 - number2;break;case '*':result = number1 * number2;break;case '/':result = number1 / number2;break;default:result = 0;}return result;}private static BufferedImage generateValidateCodeImage(String arithmeticExpression) {BufferedImage image = new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_INT_RGB);Graphics2D g = image.createGraphics();// 设置背景颜色g.setColor(Color.WHITE);g.fillRect(0, 0, WIDTH, HEIGHT);// 设置字体样式和大小Font font = new Font(Font.DIALOG, Font.BOLD, FONT_SIZE);g.setFont(font);// 设置验证码文本颜色g.setColor(Color.BLACK);// 绘制算术表达式的文本g.drawString(arithmeticExpression, 10, HEIGHT / 2 - FONT_SIZE);// 添加干扰线for (int i = 0; i < 5; i++) {int x1 = (int) (Math.random() * WIDTH);int y1 = (int) (Math.random() * HEIGHT);int x2 = (int) (Math.random() * WIDTH);int y2 = (int) (Math.random() * HEIGHT);g.drawLine(x1, y1, x2, y2);}// 噪点数量int noiseCount = WIDTH * HEIGHT / 5;for (int i = 0; i < noiseCount; i++) {int x = (int) (Math.random() * WIDTH);int y = (int) (Math.random() * HEIGHT);int rgb = getRandomColor().getRGB();image.setRGB(x, y, rgb);}g.dispose();return image;}private static Color getRandomColor() {int r = (int) (Math.random() * 256);int g = (int) (Math.random() * 256);int b = (int) (Math.random() * 256);return new Color(r, g, b);}
}

 

 

http://www.yayakq.cn/news/337678/

相关文章:

  • 大淘客构建自己的网站摄影网站设计
  • 做百度网站网络营销主要是什么
  • 万网站底部添加备案号网页设计模板
  • wordpress全站伪静态昆明网站建设去出发科技公司
  • 114啦建站程序自己做h5制作开发
  • 未成年人做网站网站的建设需要多少钱
  • 建设厅网站如何查询企业信息互联网营销师考试
  • 没有做网站能备案吗软路由系统如何做网站
  • 长沙有哪些网站建设公司凌风wordpress高级
  • 公司网站建设需要显示什么软件广州市住房和城乡建设局网站
  • 免费视频网站制作企业管理软件系统网
  • 签订网站建设协议应注意事项建立公司的流程
  • 徽与章网站建设宗旨做网站之前的工作
  • 南昌网站定制织梦网站改版需要怎么做
  • 南京明辉建设有限公司网站宣传册设计模板
  • 旅游网站建设报告注册公司怎么注销
  • 网站建设思路方案软件开发外包公司的设计一般多少钱
  • 想自己做网站推广海尔建设网站的内容
  • 没有网站可以做seo吗济南网站搜索引擎优化
  • 直播网站开发好做么百度网盘搜索引擎
  • 网站中超链接怎么做加强财政门户网站建设工作
  • 南京网站开发南京乐识权威做一个手机app的步骤
  • 迁安建设局官方网站龙岩小程序设计
  • 大连网站排名网络推广公司做编程的+网站有哪些内容
  • 南通做网站找谁哈尔滨小程序制作公司
  • 企业网站seo名称台州律师网站建设
  • 旅游网站信息门户建设方案网站开发那种语言
  • 吉林省建设网站广州高端网页制作
  • 威海房地产网站建设百度投流运营
  • 北京注销网站备案网页游戏网站下载