当前位置:网站首页>用头像模仿天狗食月
用头像模仿天狗食月
2022-07-06 21:33:00 【InfoQ】
用头像模仿天狗食月
import lombok.extern.slf4j.Slf4j;
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.*;
/**
* @Author xiepanpan
* @Description //吃月亮
* @Date 9:05 2021/9/8
* @Param
* @return
**/
@Slf4j
public class XppMoonPanel extends JPanel{
int x=700;
public void startRun(){
new Thread(){
public void run(){
while(true){
//头像的横坐标坐标不断自增
//这样去接近月亮和远离,造成天狗食月的效果
for (int i=0;i<1024;i++){
x++;
if(x>1024){
x=0;
}
}
try {
//让线程休眠10毫秒
Thread.sleep(10);
}
catch (InterruptedException e) {
log.info("",e);
}
//自动刷新屏幕,调用paint()方法
repaint();
}
}
}
.start();
}
/*
* @Author xiepanpan
* @Description //开始画
* @Date 9:01 2021/9/8
* @Param [g]
* @return void
**/
public void paint(Graphics g){
super.paint(g);
//天空颜色
this.setBackground(Color.BLACK);
//爱心星空
g.setColor(Color.RED);
for (int i = 0; i < 20; i++) {
g.drawString("", (int) (Math.random() * 1024), (int) (Math.random() * 768));
}
//月亮
g.setColor(Color.yellow);
g.fillArc(500, 100, 200, 200, 0, 360);
ImageIcon icon = new ImageIcon("D:\\1.png");
//设置头像将去覆盖月亮
g.drawImage(icon.getImage(),x,100,200,200,this);
}
}
import javax.swing.JFrame;
/**
* @Author xiepanpan
* @Description //启动
* @Date 9:06 2021/9/8
* @Param
* @return
**/
public class XppMoonFrame {
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setSize(1024, 768);
frame.setLocation(100, 100);
XppMoonPanel panel = new XppMoonPanel();
frame.add(panel);
panel.startRun();
frame.setVisible(true);
}
}
- 新建一个类继承Jpanel 重写它的paint方法
- 方法里画天空 月亮和星星 然后加载一张图片 这种图片用来覆盖月亮
- 然后不断改变图片的位置,,从而实现天狗食月的效果
️ 感谢大家
- 欢迎关注我️,点赞,评论,转发
- 关注
盼盼小课堂
,定期为你推送好文,还有群聊不定期抽奖活动,可以畅所欲言,与大神们一起交流,一起学习。
边栏推荐
猜你喜欢
链表面试常见题
1.19.11.SQL客户端、启动SQL客户端、执行SQL查询、环境配置文件、重启策略、自定义函数(User-defined Functions)、构造函数参数
Class常量池与运行时常量池
未来发展路线确认!数字经济、数字化转型、数据...这次会议很重要
维护万星开源向量数据库是什么体验
Storage of data
Simple implementation of AVL tree insertion and verification operations
Adaptive non European advertising retrieval system amcad
VHDL implementation of arbitrary size matrix multiplication
【安全攻防】序列化与反序列,你了解多少?
随机推荐
QT item table new column name setting requirement exercise (find the number and maximum value of the array disappear)
Calculation of time and space complexity (notes of runners)
VHDL implementation of arbitrary size matrix multiplication
手机号国际区号JSON格式另附PHP获取
Introduction to opensea platform developed by NFT trading platform (I)
One of oscp tools: dirsearch usage Encyclopedia
[hcie TAC] question 3
Antd Comment 递归循环评论
easyui出口excel无法下载框弹出的办法来解决
运算放大器应用汇总1
使用 Dumpling 备份 TiDB 集群数据到 GCS
How to detect whether the MySQL code runs deadlock +binlog view
ABAP 動態內錶分組循環
termux设置电脑连接手机。(敲打命令贼快),手机termux端口8022
[leetcode] 700 and 701 (search and insert of binary search tree)
SQL injection -day15
Optimization cases of complex factor calculation: deep imbalance, buying and selling pressure index, volatility calculation
使用 TiDB Lightning 恢复 GCS 上的备份数据
卡尔曼滤波-1
My brave way to line -- elaborate on what happens when the browser enters the URL