JAVA图形小动画之简单行星运动
//第一个java文件thread_star.java:
package solarsystem;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.geom.Ellipse2D;
import javax.swing.JPanel;
class thread_star extends Thread
{
int x0;
int y0;
int r0;
int d0;
double angle;
thread_star(int x,int y,int r,double a)
{
x0=x;
y0=y;
r0=r;
d0=x0-960;
angle=a;
}
public void run()
{double an=angle/3;
while(true)
{
x0=(int) (960+d0*Math.cos(angle));
y0=(int) (540+d0*Math.sin(angle));
angle=angle+an/10;
try {
sleep(1);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
class draw_star extends JPanel
{
thread_star s[]={new thread_star(1300,540,30,(Math.PI/20)),new thread_star(1700,540,40,(Math.PI/40))
,new thread_star(1400,540,25,(Math.PI/30)),new thread_star(1620,540,30,(Math.PI/36)),
new thread_star(1180,540,18,(Math.PI/10))
};
draw_star()
{
for(int i=0;i<s.length;i++)s[i].start();
this.setBackground(Color.black);
}
public void paint(Graphics g)
{
g.setColor(Color.black);
g.fillRect(0, 0, getWidth(), getHeight());
//this.setBackground(Color.BLACK);
super.paint(g);
}
public void paintComponent(Graphics g0)
{
this.setBackground(Color.black);
Graphics2D g=(Graphics2D)(g0);
g.setColor(Color.yellow);
g.fill(new Ellipse2D.Double(960-80,540-80,160,160));
Color c[]={Color.blue,Color.GRAY,Color.orange,Color.RED,Color.red};
for(int i=0;i<s.length;i++)
{
g=(Graphics2D)(g0);
g.setColor(c[i]);
g.fill(new Ellipse2D.Double(s[i].x0-s[i].r0,s[i].y0-s[i].r0,2*s[i].r0,2*s[i].r0));
}
repaint();
}
}
//第二个java文件J_Frame.java:
package solarsystem;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import javax.swing.JFrame;
public class J_Frame extends JFrame
{
J_Frame()
{
super("太阳星系图");
draw_star d=new draw_star();
Container c=getContentPane();
c.setBackground(Color.BLACK);
c.add(d);
this.setBackground(Color.black);
}
public static void main(String args[])
{
J_Frame j=new J_Frame();
j.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
j.setSize(1920, 1080);
j.setVisible(true);
}
}
运行结果图示:
JAVA图形小动画之简单行星运动相关推荐
- java输出5行星型三角_JAVA图形小动画之简单行星运动
//第一个java文件thread_star.java: package solarsystem; import java.awt.Color; import java.awt.Graphics; i ...
- Java飞机小游戏制作简单实现详细小结
567881@ftJava小游戏开发 Java飞机小游戏制作简单实现小结 本人原来是个技术小白,寒假我跟着高淇老师的Java300集开始自学Java,跟着做了一个飞机大战小游戏,已经实现了飞机的自由移 ...
- java图形界面UI设计——简单的计算器
java图形界面UI设计--简单的计算器# 可以实现连续的输入: java图形界面UI设计--简单的计算器下载
- java窗口小程序atm_简单的小程序实现ATM机操作
简单的小程序实现ATM机操作 代码如下: package Day06; import java.util.Scanner; public class TestAccount { public stat ...
- Java语言之动画的简单入门学习
什么是 SVG? Google 在 Android5.X 中增加了对 SVG 矢量图形的支持,可以用来创建高效率的动画, 所以我们先来了解一下 SVG 的定义: 可伸缩矢量图形(Scalable Ve ...
- java入门小项目,简单实现增删改查功能
HouseRentAPP房屋出租 代码出自B站韩顺平老师教学视频 详细视频可B站搜索韩顺平 效果图 准备工作 如图所示,先创建相应的包和类 有的人可能会说,为什么要建那么多包,每个包里也只有一个类文件 ...
- java图形旋转动画_Java动画:旋转图像
我将假设您了解如何旋转图像一次.如果你不这样做,你可以通过快速谷歌搜索找到它. 您需要的是一个为您旋转它的后台进程.它的工作原理如下: /** * Warning - this class is UN ...
- java gui 日历_Java实现简单日历小程序 Java图形界面小日历开发
今天给大家介绍一下如何用Java swing开发一款简单的小日历,下面我们来看代码: 首先创建一个CalendarBean类,用于基本的日期计算: package other1; import jav ...
- java 日历界面_Java实现简单日历小程序 Java图形界面小日历开发
今天给大家介绍一下如何用java swing开发一款简单的小日历,下面我们来看代码: 首先创建一个calendarbean类,用于基本的日期计算: package other1; import jav ...
最新文章
- R19436221 区间第k小 主席树
- python介绍和用途-Python字典简介以及用法详解
- Space-Filling Designs
- Android(三)——将程序打包成APK文件,进行APK签名以及反编译APK
- 原相机怎么拍出网图_专访5位时尚生活达人,他们都用哪款相机记录生活美好瞬间...
- 智能指针shared_ptr
- Apache Hadoop 3.0.0 GA版正式发布,可以部署到线上
- C#中的运算符、数组、枚举、结构体
- 44response对象
- 关于很多人 年底被炒!
- HDU 1069 Monkey and Banana 动态规划
- 【泛微Ecology9.0】安装\启用非标功能
- 关于USBKEY的CSP学习
- Java/大数据常见面试
- Unity给力插件之Final IK
- c语言种子数使用方法,C语言中的srand的用法,什么是种子?
- 【转】大河报重要版面刊登署名永春文章:观猴有感 原始社会平均分配食物的问题 关于母系社会问题 关于人与动物关系的问题...
- HTML:如何设置网页标题上的图标
- 真无线蓝牙耳机性价比高?真无线蓝牙耳机性价比排行
- 基于嵌入式linux的freetype矢量字体简单显示的实现
热门文章
- imx6 linux can测试,iTOP-iMX6UL开发板-MiniLinux-CAN测试使用文档
- 怎样开始入门学计算机,新手如何开始学电脑 新手学电脑从何入门
- 阻击黑客,你需要了解这些云安全“潜规则”
- 倍福CX9020(WINCE 7)使用技巧汇总
- 图片转文字怎么转?这些方法我只告诉你
- springboot配置内存数据库H2
- Kanzi学习之路(6):属性绑定
- 他们做的通用人工智能,要让所有产品都具备“智能”大脑
- 香橙派Zero2电视盒子开发板连接HDMI如何修改分辨率
- 【Android】安卓开发实战之软键盘设置