前言

最近在更新一些教学案例,突然想起每年支付宝都有一个扫福活动,就想着能不能用程序写一个福字,显而易见这当然可以,于是就有了这篇博文

其实内容很简单,主要就是三个类,一个是字体工具类,二是图片工具类,三是生成福字主类,效果如下

1、字体工具类

import java.awt.*;
/*字体工具类*/
public class FontUtil {public static void drawWord(Graphics g,String str,Color color,int size,int x,int y,String font){g.setColor(color);g.setFont(new Font(font,Font.BOLD,size));g.drawString(str,x,y);}
}

2、图片工具类

import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
/***  图片工具类*/
public class ImgTool {//提取图片工具1public static BufferedImage getimg(String path){BufferedImage img=null;try {img= ImageIO.read(new File(path));} catch (IOException e) {e.printStackTrace();}return img;}//工具2public static Image getImage(String filename){return Toolkit.getDefaultToolkit().getImage(filename);}
}

3、生成"福"主类

import javax.swing.*;
import java.awt.*;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.image.BufferedImage;
import java.util.Arrays;
import java.util.List;public class RandFu extends JFrame {List<Color> colorList;List<String> arrayList;Integer index, fontRandom;BufferedImage bg = null;public RandFu() {arrayList = Arrays.asList("楷体", "宋体", "华文琥珀", "华文行楷", "幼圆", "华文新魏", "华文彩云", "隶书");fontRandom = (int) ((Math.random() * 10) % 8);System.out.println("字体:" + arrayList.get(fontRandom));bg = ImgTool.getimg("src/cn/img/bg.jpg");//  初始化colorList = Arrays.asList(Color.gray, Color.black, Color.PINK, Color.orange, Color.RED);index = (int) ((Math.random() * 10) % 5);System.out.println("字体颜色" + index);setSize(600, 600);setIconImage(ImgTool.getImage("src/cn/img/fu.png"));setLocationRelativeTo(null);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setVisible(true);setBackground(Color.red);//  键盘监听//  设置面板键盘监听this.addKeyListener(new KeyAdapter() {//  重写键盘监听方法@Overridepublic void keyPressed(KeyEvent e) {//  判断是否是空格if (e.getKeyCode() == KeyEvent.VK_SPACE) {reGame();}}});}//  重启public void reGame() {//  关闭当前窗口this.dispose();//  开启新窗口String[] args = {};main(args);}@Overridepublic void paint(Graphics g) {//  画背景g.drawImage(bg, 15, 50, 570, 535, null);FontUtil.drawWord(g, "福", colorList.get(index), 250, 163, 400, arrayList.get(fontRandom));//  repaint();}public static void main(String[] args) {RandFu randFu = new RandFu();}
}

源码点我下载

使用Java写个福字相关推荐

  1. 还在动手画棋盘 ?20分钟带你用Java写一个井字棋!

    还在动手画棋盘 ?20分钟带你用Java写一个井字棋! 文章目录 还在动手画棋盘 ?20分钟带你用Java写一个井字棋! 前言 设计过程 1.创建窗体类MyGameWindow 2.创建窗体的构造器 ...

  2. 利用python写福字【弄个不一样的五福~】

    前言: 马上到春节了,支付宝 2022集五福活动又正式开启开始啦!不出意外,这个星期你会主动找我说话.不为别的,就为了敬业福. 今天小编用python给你们展示一个不一样的五福!感兴趣的小伙伴点击这里 ...

  3. 从“扫月亮”到“扫福字”,扒一扒背后的支付宝AR框架体系

    摘要:从攒五福到抢红包,全国人民的春节活动越来越多样,其背后技术挑战也更复杂:业务层挑战与实现方案.AR红包支付架构变化.技术难点和攻克手段.优化细节和保障方法.安全风险和攻防实战等,每一年的红包背后 ...

  4. 2920集五福_2020支付宝集五福福字图片 最容易扫出敬业福全家福卡福字图片最新一览...

    1月9日,2020年集五福的新玩法公布--下周一(1月13日)0点,2020年"集五福"活动正式开始. 今年都有什么福卡? 2020年集五福的基本玩法跟去年很像 看图片可以知道,今 ...

  5. 2920集五福_2020年支付宝集五福攻略之6张特殊福字爆敬业福和全家福

    说明:如果看官无法做到看完文章,请不要加好友!总有缺教养的看官上来没两句话就拉黑!没有人欠你敬业福.也没有人有义务教你方法! 摘要: 2019年时通过扫特殊福可以大概率爆敬业福和沾沾卡,还有马爸爸写的 ...

  6. 马云计算机图片大全集,五福图片扫福字原图最新图片 马云的福字特殊福字图片大全...

    2021年支付宝五福图片.扫福字原图最新图片来啦,据说扫描这些福字图片,可以大概率的获得万能福卡.沾沾卡还有敬业福,除此之外还有很多额外获得福卡的机会,还没集齐的小伙伴们来看看吧.下面八小编带来:五福 ...

  7. 四年级下册计算机技术做福字,西冷印社版四年级下册书法04集字临摹练习(一)集体备课教案教学设计...

    颜体集字创作:静以修身 教学目标:1.认识书法的功能以及书法作品的基本样式> 2.按照一定的书法样式进行颜体集字创作,结束要完成一幅书法作品. 教学重点.难点:1.书法作品的基本样式. 2.完成 ...

  8. 用Java写出敬业福小程序:人人扫出敬业福

    点击关注公众号,回复"2T"获取2TB学习资源! 互联网架构师后台回复 2T 有特别礼包 整理:Java团长 上一篇:实锤被抓包!字节跳动违反Apache 2.0许可证,在火山引擎 ...

  9. 《英雄联盟》出现大面积闪退;两名 95 后大学生用脑电波写“福”字;Windows蓝屏为什么是蓝底白字? | 极客头条...

    「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧. 整理 | 丁恩华 出品 | CSDN(ID:CSDNnews ...

最新文章

  1. 爬虫书籍-Python网络爬虫权威指南OCR库 NLTK 数据清洗 BeautifulSoup Lambda表达式 Scrapy 马尔可夫模型
  2. iOS身份证号码识别
  3. ​每日一皮:​你的Frozen Throne...
  4. python字符串截取及Html解析
  5. SQL Server 2008 R2 系统配置检查器的检查参数和妨碍性问题的解决办法
  6. MySQL文件后_MySQL误删除文件后,如何恢复
  7. 达内php第三次月考,达内第三次月考
  8. Mr.J-- HTTP学习笔记(六)-- 代理
  9. python在linux编程_python要在linux下编程吗
  10. 文件共享锁溢出 请增加MaxLocksperFile注册表项值
  11. 基本的ps快捷键(图文)
  12. PHP设置表格框线,ppt中表格边框线条怎样设置?
  13. java代码处理URL转码
  14. php k线公式源码,发个珍藏了N久的波浪主图公式(公式 指标 源码)(演示图)-其他软件公式 -程序化交易(CXH99.COM)...
  15. WORD动态目录打印预览出现:错误未…
  16. 送给佳佳同学的礼物:测试流程及并行测试介绍
  17. 已有Microsoft365许可证,但是office无法激活
  18. IoT嵌入式硬件--DC/DC
  19. java导出excel与word文档
  20. 关于音视频测试的一点建议

热门文章

  1. STM32数码管显示温度
  2. NANDflash常见问题汇总
  3. docker run参数详解
  4. 交互篇(玩家与模型的交互)
  5. python怎么调用c语言_Python调用C语言程序方法解析
  6. 智能混剪系统爆款生成器移动端-----H5手机版(小程序端)
  7. 什么事宏病毒,宏病毒的判断方法 ,宏病毒的防治和清除
  8. 生成对抗网络Generative Adversarial Nets(译)
  9. 提取人声软件android,音频声音提取2021版
  10. 局域网搭建的家庭影院,公网如何访问?