为了使制作出来的满天星更加好看,采用随机数产生,对于产生的位置采用二维数组进行定义、

为了使动画动起来,通过改变横纵坐标的大小来实现(写这篇的目的是为了证明Java不是枯燥无味的)

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.util.Random;import javax.swing.JPanel;/*** 画布类:JPanel* @author Administrator**/
public class MyJPanel extends JPanel implements Runnable{//定义50个星星的坐标int[] x=new int[70];int[] y=new int[70];//弹幕效果String[] strArr= {"皆是遗憾","想见你","巅峰相见"};int[] strx=new int[strArr.length];int[] stry=new int[strArr.length];//全局变量int x1=160;//构造方法public MyJPanel() {Random rand=new Random();//随机数for(int i=0;i<x.length;i++) {x[i]=rand.nextInt(1200);y[i]=rand.nextInt(600);}for(int i=0;i<strArr.length;i++) {strx[i]=rand.nextInt(1200);stry[i]=rand.nextInt(600);}new Thread(this).start();}//重写//Graphics g:画笔@Overridepublic void paint(Graphics g) {// TODO Auto-generated method stubsuper.paint(g);//修改画布背景this.setBackground(Color.darkGray);g.setColor(Color.BLACK);Font font1=new Font("宋体",Font.BOLD,40);g.setFont(font1);g.drawString("予你姗姗而来", x1, 400);g.setColor(Color.BLACK);Font font2=new Font("楷体",Font.BOLD,40);g.setFont(font2);for(int i=0;i<strArr.length;i++) {   g.drawString(strArr[i], strx[i], stry[i]);}//画月亮g.setColor(Color.WHITE);g.fillOval(100, 100, 200, 200);g.setColor(Color.darkGray);g.fillOval(x1, 100, 200, 200);//画一颗星//代码格式化:ctrl+I ctrl+shift+Ffor(int i=0;i<x.length;i++) {//0-255int red=(int) (Math.random()*256);int green=(int) (Math.random()*256);int blue=(int) (Math.random()*256);Color color=new Color(red,green,blue); g.setColor(color);//颜色Font font=new Font("宋体",Font.BOLD,10);g.setFont(font);g.drawString("*", x[i], y[i]);}}@Overridepublic void run() {// TODO Auto-generated method stub
//      System.out.println("嘿嘿");while(true) {x1=x1-2;if(x1<=0) {x1=1200;}for(int i=0;i<x.length;i++) {x[i]=x[i]-5;if(x[i]<=0)x[i]=1200;}for(int i=0;i<y.length;i++) {y[i]=y[i]-2;if(y[i]<=0)y[i]=600;}for(int i=0;i<strArr.length;i++) {stry[i]=stry[i]-2;if(stry[i]<=0)stry[i]=600;}try {Thread.sleep(100);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}repaint();//重绘,重复调用paint方法}}
}
import javax.swing.JFrame;/*** java swing:* 窗体类:JFrame* */
public class MyJFrame extends JFrame{//构造方法:方法名与类名相同。没有任何返回值类型//作用:初始化public MyJFrame() {//this;指代当前类对象this.setTitle("所望星辰皆不是你");//设置窗体的宽和高this.setSize(1200, 600);//显示居中this.setLocationRelativeTo(null);//优化一下,退出窗体的时候,关闭进程this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//显示可见this.setVisible(true);//创建画布对象MyJPanel mj=new MyJPanel();//将画布添加到窗体上this.add(mj);}//主方法:程序的入口public static void main(String[] args) {new MyJFrame();}
}

Java语言制作动画相关推荐

  1. java可以制作动画么,Java:如何避免仅制作形状的动画(没有图像...

    嗨,我正在阅读Ian Cinnamon撰写的"为邪恶的天才编程视频游戏"一书.在其中一个项目中,他解释了如何为赛车游戏创建动画.我在下面编写了一个简单的代码(删除了"几乎 ...

  2. 利用Java语言制作关机小程序

    本程序用到了Java的图形化界面,运行后弹出一个方框窗口,文本框下方是提示,看清提示后可以输入英文大/小写答案,若输入出错,则在60秒后关机,若在此期间,改窗口丢失焦点,则弹出提示框,并在15秒后关机 ...

  3. java可以制作动画么_java – 如何为陀螺制作动画?

    物体旋转的轴的旋转称为 Precession.旋转顶部运动需要2次旋转: >物体围绕其内轴旋转(与红色手柄平行). >围绕静态轴旋转其中一个内部轴(在本例中为z). 从表面上看,你需要2个 ...

  4. Java语言之动画的简单入门学习

    什么是 SVG? Google 在 Android5.X 中增加了对 SVG 矢量图形的支持,可以用来创建高效率的动画, 所以我们先来了解一下 SVG 的定义: 可伸缩矢量图形(Scalable Ve ...

  5. Java语言制作吃豆人游戏

    (此项目源码已上传至Github网站,网址为GitHub - Ran-a/Pac-man-yar) 1  游戏界面 游戏的角色分别是追赶者和吃豆人,玩家使用方向键来控制吃豆人的运动方向并吃食物,将食物 ...

  6. java代码制作动画

    本代码需要配置javafx后即可使用,Javafx配置可以参考百度. 在Eclipse下运行程序,自己下载图片更改代码中图片的位置和照片名即可. 代码如下 import javafx.animatio ...

  7. 如何用java制作动画_如何制作动画(java实现动画的代码)

    如何制作动画(java实现动画的代码)内容如下 回答一:AE用于制作mg动画,操作确实有些复杂,技术要求也高,但不得不承认它是个神器,可以创建各种吸引人的动态图形和视觉效果 当然,现在网上也有一些比较 ...

  8. 易语言制作计算软件简单步骤_【软件工具】快速制作动画式微课,就是这么简单...

    点击上方蓝字   励展集团  关注并设为星标 动画式微课能够呈现出超出文字.语言外的演示效果.在微课中加入动画,能够让课程内容更生动活泼:用动画人物形象替代教师.学生角色,也能模拟真实教学场景,设置教 ...

  9. java语言的诞生日是_【logofree】JAVA语言诞生日百度LOGO在线制作

    Java语言诞生日百度LOGO创意说明 5月23日是JAVA语言诞生的日子.我们制作了 一款有趣的互动来纪念这一天.LOGO是整个游戏的入口,也是JAVA之父高斯林的办公桌.复古的电脑以及电话机体现了 ...

最新文章

  1. 直播报名 | NVIDIA公开课:Style-Gan的架构与实现
  2. 索引文件核心头文件定义
  3. 几种常用控件的使用方法
  4. hdu 4970 Killing Monsters(数学题)
  5. 加载geojson面数据_地理数据可视化
  6. python爬虫下载重试_python爬虫多次请求超时的几种重试方法(6种)
  7. linux内核移植imx8,iMX8模块Ubuntu移植
  8. 学习统计学之非参数检验
  9. 搜狗微信公众号文章搜索器---网赚必备工具
  10. echarts实现左右滑动
  11. awk、ruby计算总分排名,相同总分显示同一名次
  12. VCS+Verdi 安装过程遇到的问题-CentOS7
  13. 李沐华:变革前夜的券商集中交易系统
  14. 结构光、双目、ToF——三种3D技术对比
  15. Django之MTV
  16. 外贸员的日常工作分享
  17. 如何在win 10 家庭版上安装日语语言包
  18. Mysql 查询指定数据在查询数据列表中排名问题
  19. deploy path /代表什么意思
  20. Proteus8.9 VSM Studio WINAVR编译器仿真ATmega16系列a17_正反转可控直流电机

热门文章

  1. Tcp为什么是4次挥手呢?为什么是3次握手,不能是3次挥手呢?
  2. Windows7 U盘安装Ubuntu14.04双系统教程
  3. 阿里、京东都在说的赋能到底是什么?
  4. golang学习之negroni对于第三方中间件的使用分析
  5. Java程序设计——随机点名器
  6. 零基础入门学习Python(31)--永久存储:腌制一缸美味的泡菜
  7. (四)Spring核心思想 - IOC与DI
  8. Alpha阶段敏捷冲刺⑤
  9. 苏州大学在职研究生计算机专业,苏州大学在职研究生入学须知
  10. OSI模型 四层发现-nmap(诸神之眼)工具介绍