使用Java写个福字
前言
最近在更新一些教学案例,突然想起每年支付宝都有一个扫福活动,就想着能不能用程序写一个福字,显而易见这当然可以,于是就有了这篇博文
其实内容很简单,主要就是三个类,一个是字体工具类,二是图片工具类,三是生成福字主类,效果如下
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写个福字相关推荐
- 还在动手画棋盘 ?20分钟带你用Java写一个井字棋!
还在动手画棋盘 ?20分钟带你用Java写一个井字棋! 文章目录 还在动手画棋盘 ?20分钟带你用Java写一个井字棋! 前言 设计过程 1.创建窗体类MyGameWindow 2.创建窗体的构造器 ...
- 利用python写福字【弄个不一样的五福~】
前言: 马上到春节了,支付宝 2022集五福活动又正式开启开始啦!不出意外,这个星期你会主动找我说话.不为别的,就为了敬业福. 今天小编用python给你们展示一个不一样的五福!感兴趣的小伙伴点击这里 ...
- 从“扫月亮”到“扫福字”,扒一扒背后的支付宝AR框架体系
摘要:从攒五福到抢红包,全国人民的春节活动越来越多样,其背后技术挑战也更复杂:业务层挑战与实现方案.AR红包支付架构变化.技术难点和攻克手段.优化细节和保障方法.安全风险和攻防实战等,每一年的红包背后 ...
- 2920集五福_2020支付宝集五福福字图片 最容易扫出敬业福全家福卡福字图片最新一览...
1月9日,2020年集五福的新玩法公布--下周一(1月13日)0点,2020年"集五福"活动正式开始. 今年都有什么福卡? 2020年集五福的基本玩法跟去年很像 看图片可以知道,今 ...
- 2920集五福_2020年支付宝集五福攻略之6张特殊福字爆敬业福和全家福
说明:如果看官无法做到看完文章,请不要加好友!总有缺教养的看官上来没两句话就拉黑!没有人欠你敬业福.也没有人有义务教你方法! 摘要: 2019年时通过扫特殊福可以大概率爆敬业福和沾沾卡,还有马爸爸写的 ...
- 马云计算机图片大全集,五福图片扫福字原图最新图片 马云的福字特殊福字图片大全...
2021年支付宝五福图片.扫福字原图最新图片来啦,据说扫描这些福字图片,可以大概率的获得万能福卡.沾沾卡还有敬业福,除此之外还有很多额外获得福卡的机会,还没集齐的小伙伴们来看看吧.下面八小编带来:五福 ...
- 四年级下册计算机技术做福字,西冷印社版四年级下册书法04集字临摹练习(一)集体备课教案教学设计...
颜体集字创作:静以修身 教学目标:1.认识书法的功能以及书法作品的基本样式> 2.按照一定的书法样式进行颜体集字创作,结束要完成一幅书法作品. 教学重点.难点:1.书法作品的基本样式. 2.完成 ...
- 用Java写出敬业福小程序:人人扫出敬业福
点击关注公众号,回复"2T"获取2TB学习资源! 互联网架构师后台回复 2T 有特别礼包 整理:Java团长 上一篇:实锤被抓包!字节跳动违反Apache 2.0许可证,在火山引擎 ...
- 《英雄联盟》出现大面积闪退;两名 95 后大学生用脑电波写“福”字;Windows蓝屏为什么是蓝底白字? | 极客头条...
「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧. 整理 | 丁恩华 出品 | CSDN(ID:CSDNnews ...
最新文章
- 爬虫书籍-Python网络爬虫权威指南OCR库 NLTK 数据清洗 BeautifulSoup Lambda表达式 Scrapy 马尔可夫模型
- iOS身份证号码识别
- ​每日一皮:​你的Frozen Throne...
- python字符串截取及Html解析
- SQL Server 2008 R2 系统配置检查器的检查参数和妨碍性问题的解决办法
- MySQL文件后_MySQL误删除文件后,如何恢复
- 达内php第三次月考,达内第三次月考
- Mr.J-- HTTP学习笔记(六)-- 代理
- python在linux编程_python要在linux下编程吗
- 文件共享锁溢出 请增加MaxLocksperFile注册表项值
- 基本的ps快捷键(图文)
- PHP设置表格框线,ppt中表格边框线条怎样设置?
- java代码处理URL转码
- php k线公式源码,发个珍藏了N久的波浪主图公式(公式 指标 源码)(演示图)-其他软件公式 -程序化交易(CXH99.COM)...
- WORD动态目录打印预览出现:错误未…
- 送给佳佳同学的礼物:测试流程及并行测试介绍
- 已有Microsoft365许可证,但是office无法激活
- IoT嵌入式硬件--DC/DC
- java导出excel与word文档
- 关于音视频测试的一点建议