利用Java编写一个出敬业福的小程序

目录
  • 1、前言
  • 2、定义工具类
  • 3、生成"福"主类
  • 4、运行测试
  • 5、素材图片

1、前言

“福”的由来: 姜太公封一大批神仙时,却把自己的妻子叶氏封为穷神,还告诉她说:“有福的地方,你不能去。”从此,家家过年贴福字,就是告诉穷神,我这里是有福的地方,你千万不能进来。福字,就是摆脱穷困、追求幸福的象征。

福字之所以倒贴,传说起于清代恭亲王府。那年春节前夕,大管家按例写了几个斗大的“福”字,叫人贴于王府的大门上。有个家丁目不识丁,竟将“福”字头朝下贴上。恭亲王福晋十分气恼,欲鞭罚惩戒。可这大管家是个能言善辩之人,慌忙跪倒陈述:“奴常听人说,恭亲王寿高福大,如今大福真的到(倒)了。乃喜庆之兆。”恭亲王一听觉得合情合理,心想:“怪不得过往行人都说恭亲王福到(倒)了,吉语说千遍,金银增万贯。没学问的奴才,还真想不到有这种招式呢!”遂赏管家和家丁各五十两银子,可真是因祸得福。

新年将至,又开始扫福活动,每年的敬业福成了大家难过的坎,于是编写一款福字生成器,提高大家扫福的效率与扫到敬业福的概率,小编已经扫出,废话不多说,直接上代码(都在用Python写好玩的,我就用Java写点好玩的)

2、定义工具类

这两个工具类其实可以不专门写出来,随意一点啦~

① 字体工具类

package com.mrxx.game;
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);
    }
}

② 图片工具类

package com.mrxx.game;

import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
/*图片工具类*/
public class ImgTool {

  //提取图片工具1
  public static BufferedImage getimg(String path){
    BufferedImage img=null;
    try {
      img= ImageIO.read(new File(path));
    } catch (IOException e) {
      e.printStackTrace();
    }
    return img;
  }

  //工具2
  public static Image getImage(String filename){
    return Toolkit.getDefaultToolkit().getImage(filename);
  }
}

3、生成"福"主类

package com.mrxx.game;

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/com/mrxx/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/com/mrxx/img/fu.png"));
        setLocationRelativeTo(null);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setVisible(true);
        setBackground(Color.red);

        //键盘监听
        //设置面板键盘监听
        this.addKeyListener(new KeyAdapter() {
            //重写键盘监听方法
            @Override
            public void keyPressed(KeyEvent e) {
                //判断是否是空格
                if (e.getKeyCode() == KeyEvent.VK_SPACE) {
                    reGame();
                }
            }
        });

    }

    //重启
    public void reGame(){
        //关闭当前窗口
        this.dispose();
        //开启新窗口
        String[] args={};
        main(args);
    }

    @Override
    public 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();
    }
}

以上就是全部代码

4、运行测试

程序启动后空格键进行“福”字的随机生成,部分效果演示:

5、素材图片

以下两种图片一个是背景,一个是标题图片(不想动手的,可以直接下载我上传的资源(免费),有兴趣的可以参考我以前的文章把这个程序打包成exe的应用)使用方式空格键即可

到此这篇关于利用Java编写一个出敬业福的小程序的文章就介绍到这了,更多相关Java内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 用python写一个福字(附完整代码)

    目录 前言: 一,扫五福活动如此火爆,为何不自己利用编程来生成福字! 二,完整代码 三,总结 前言: 支付宝 2022 集五福活动正式开启 数据显示,过去六年累计参与支付宝集五福的人数已经超过了 7 亿,每 2 个中国人里就有 1 个曾扫福.集福.送福. 一,扫五福活动如此火爆,为何不自己利用编程来生成福字! 首先作品奉上: ①,导入python库 import io from PIL import Image import requests ②,利用爬虫,获取单个汉字 def get_word

  • Python tkinter库绘制春联和福字的示例详解

    马上要过年了,用 Python 写一副春联&福字送给大家,本文我们主要用到的 Python 库为 tkinter,下面一起来看一下具体实现. 首先,我们创建一个画布,代码实现如下: root=Tk() root.title('新年快乐') canvas=Canvas(root,width=500,height=460,bg='lightsalmon') 看一下效果: 我们接着写上联,主要代码实现如下: for i in range(0,451): canvas.create_rectangle(

  • 用python画个敬业福字代码

    目录 前言 海龟画笔的介绍 “福”字源码 结果展示 总结 前言 春节快到了,一年一度的支付宝集五福活动就要来了,阿牛也是突发奇想,看能不能用python的turtle库画个"福"字,试了很久,我的这个“福“”字终于看起来可以了,现将源码分享给大家,拿过去放到python的环境中就可以直接运行哦!嘿嘿嘿!这五福手到擒来啦! 海龟画笔的介绍 海龟绘图是 Python 内置的一个比较有趣的模块,模块名称为 turtle,并且依赖python内置的tkinter模块.它最初源于 20世纪60年

  • Python打造虎年祝福神器的示例代码

    目录 背景故事 一.Python Turtle模块画小老虎 1. 定义库以及初始化界面 2. 画出左右两只耳朵 3. 画出小老虎头部轮廓 4. 画出老虎的两只眼睛 5. 画出老虎的鼻子和嘴巴 6. 画出小老虎的左右肢体和脚趾 7. 在需要的位置写上我们的新年祝福 二.弹窗设置 三.倒计时页面设计 1. 实现清屏功能以及初始化位置 2. 显示倒数3,2,1 3. 显示我们需要的文字 4. 设定代码运行入口,调用目标函数 结果展示 源码分享 背景故事 2022虎年将至,值此新春佳节之际,各大社区更是

  • C语言实现生成新春福字的示例详解

    目录 主要代码 字面量以及数据结构 定义一个回调函数,刷新福字 应用初始化程序 主程序 效果展示 快新年了,支付宝扫福活动又开始了,每次都要百度找福,这次不想找了,自己写一个程序生成各种字体的福字. 主要代码 字面量以及数据结构 #define FONT_DISPLAY "福" // g_fu_label中的每一个控件都是一个福字 static GtkWidget *g_fu_label[3][3]; // 记录所有的字体family typedef struct { int n_fa

  • Flutter实现支付宝集五福手画福字功能

    目录 需求 实现思路 显示笔画轨迹 撤销与清空 保存到相册 完整代码与demo下载 需求 包含需求的具体有: 界面随着用户手指的滑动显示走过轨迹,也就是对应的笔画. 点击清空按钮可以清除所有的笔画. 点击撤销按钮可以清除上一步画过的笔画. 保存所写的文字样式到相册. 实现思路 显示笔画轨迹 使用Listener组件对用户手指落下.滑动和收起的动作进行监听,在onPointerDown,onPointerMove,onPointerUp3个监听方法中返回的PointerMoveEvent对象包含了

  • 利用Java编写一个出敬业福的小程序

    目录 1.前言 2.定义工具类 3.生成"福"主类 4.运行测试 5.素材图片 1.前言 “福”的由来: 姜太公封一大批神仙时,却把自己的妻子叶氏封为穷神,还告诉她说:“有福的地方,你不能去.”从此,家家过年贴福字,就是告诉穷神,我这里是有福的地方,你千万不能进来.福字,就是摆脱穷困.追求幸福的象征. 福字之所以倒贴,传说起于清代恭亲王府.那年春节前夕,大管家按例写了几个斗大的“福”字,叫人贴于王府的大门上.有个家丁目不识丁,竟将“福”字头朝下贴上.恭亲王福晋十分气恼,欲鞭罚惩戒.可这

  • 利用Java编写一个属于自己的日历

    目录 问题提出 一点提示 源码分享 问题提出 编写程序,输入年份,打印出该年的年历(12个月的),效果如下图所示. 一点提示 使用 Java 自带的 Calendar 类得到一个 Calendar 类对象,然后我们可以去得到每个月的第一天是星期几 Calendar 类不能直接 new 得到对象,需要使用 getInstance() 函数 //得到一个Calendar对象 Calendar c = Calendar.getInstance(); Calendar 类的 set 可以设置自己想要的日

  • 利用React实现一个有点意思的电梯小程序

    目录 查看效果 技术栈介绍 初始化项目 css in js 分析程序的结构 楼房组件 全局样式 电梯井组件 电梯门组件 电梯组件 电梯门组件的开启动画 修改电梯和电梯井组件 楼层容器组件 楼层组件 楼层数 楼层的上升与下降 楼层列表渲染 楼层按钮组件 修改楼层容器组件 最后 查看效果 我们先来看一下今天要实现的示例的效果,如下所示 好,接下来我们也看到了这个示例的效果,让我们进入正题,开始愉快的编码吧. 技术栈介绍 这个小程序,我们将采用React + typescript + css in j

  • 用C编写一个送给女朋友的情人节小程序 可爱!

    本文实例为大家分享了C编写送给女朋友的小程序,供大家参考,具体内容如下 #include<iostream> #include<conio.h> #include<windows.h> #include<time.h> #include<stdio.h> using namespace std; #define wide 49 #define gao 24 #define high 6 int yanhua[gao][wide],hang,lie

  • java编写一个花名随机抽取器的实现示例

    一.程序效果 还记得以前上课的时候,老师会用自己写的一个抽取器抽取同学回答问题,当时想着我也要做一个,假期没事干,自学了java,闲来无聊,我也写一个,但是写的没有老师好,哈哈,好了说一下思路,先把界面布置好,然后逐一实现每个按钮的功能,其实也没什么难的. 二.需要用到的包 import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.io.*; import java.util.*; 三.代码 1.相

  • 利用Java编写24点小游戏的实例代码

    话不多说直接给大家上代码 package com.company; import java.util.*; /** * 24点小游戏 * 游戏规则:系统自动生成4个1-10的随机整数,玩家通过加减乘除操作,得到结果为24,每个数字只能使用一次 */ public class Game24Player { final String[] patterns = {"nnonnoo", "nnonono", "nnnoono", "nnnono

  • 利用java实现一个客户信息管理系统

    用博客记录我自学的点点滴滴 类图: Customer类: public class Customer { /** * @name 客户姓名 * @sex 性别 * @age 年龄 * @phone 电话号码 * @email 邮箱 */ private String name; private String sex; private int age; private String phone; private String email; public Customer(){}; public C

  • 利用Java写一个学生管理系统

    目录 前言: 其实作为一名Java的程序猿,无论你是初学也好,大神也罢,学生管理系统一直都是一个非常好的例子,初学者主要是用数组.List等等来写出一个简易的学生管理系统,二.牛逼一点的大神则用数据库+swing来做一个有界面的学生管理系统.其实都并不会太难. 我先写一个简单的用List来实现学生管理系统: 首先,管理系统是针对学生对象的,所以我们先把学生对象写出来: package bean; public class Student { String name; String student

  • 利用Python编写一个闹钟,治好你的拖延症

    目录 一.小科普 1)time模块 2)messagebox模块 二.准备中 1)环境安装 2)素材(音乐+背景可修改) 三.开始敲代码 1)导入模块 2)界面设置 3)获取当前实时时间 4)设置开始.退出按钮 5)设置到点播放音乐 6)额外设置的一个弹窗提醒 四.效果展示 总结 导语 相信有不少人的闹钟是设成这样的: 6:20 6:30 6:35 6:37 …… 起床真是令人困扰的事情,有的人根本不用定闹钟,但有的人提前半个小时闹钟都叫不醒,你的闹钟怎么定的? 举个粒子: 现在这天气真的就很需

  • 利用Python编写一个记忆翻牌游戏

    目录 导语 开发工具 环境搭建 先睹为快 原理简介 导语 昨天看到有留言竟然说我是月更博主,我明明更新地这么勤快(心虚.jpg).看吧,昨天刚更新过,今天又来更新了. 今天还是带大家写个小游戏吧,不过老是用pygame也没啥意思,这次我们换点新花样,用python自带的tkinter包写一个记忆翻牌小游戏呗. 废话不多说,让我们愉快地开始吧~ 开发工具 Python版本:3.7.4 相关模块: pygame模块: tkinter模块: pillow模块: 以及一些python自带的模块. 环境搭

随机推荐