//第一个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图形小动画之简单行星运动相关推荐

  1. java输出5行星型三角_JAVA图形小动画之简单行星运动

    //第一个java文件thread_star.java: package solarsystem; import java.awt.Color; import java.awt.Graphics; i ...

  2. Java飞机小游戏制作简单实现详细小结

    567881@ftJava小游戏开发 Java飞机小游戏制作简单实现小结 本人原来是个技术小白,寒假我跟着高淇老师的Java300集开始自学Java,跟着做了一个飞机大战小游戏,已经实现了飞机的自由移 ...

  3. java图形界面UI设计——简单的计算器

    java图形界面UI设计--简单的计算器# 可以实现连续的输入: java图形界面UI设计--简单的计算器下载

  4. java窗口小程序atm_简单的小程序实现ATM机操作

    简单的小程序实现ATM机操作 代码如下: package Day06; import java.util.Scanner; public class TestAccount { public stat ...

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

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

  6. java入门小项目,简单实现增删改查功能

    HouseRentAPP房屋出租 代码出自B站韩顺平老师教学视频 详细视频可B站搜索韩顺平 效果图 准备工作 如图所示,先创建相应的包和类 有的人可能会说,为什么要建那么多包,每个包里也只有一个类文件 ...

  7. java图形旋转动画_Java动画:旋转图像

    我将假设您了解如何旋转图像一次.如果你不这样做,你可以通过快速谷歌搜索找到它. 您需要的是一个为您旋转它的后台进程.它的工作原理如下: /** * Warning - this class is UN ...

  8. java gui 日历_Java实现简单日历小程序 Java图形界面小日历开发

    今天给大家介绍一下如何用Java swing开发一款简单的小日历,下面我们来看代码: 首先创建一个CalendarBean类,用于基本的日期计算: package other1; import jav ...

  9. java 日历界面_Java实现简单日历小程序 Java图形界面小日历开发

    今天给大家介绍一下如何用java swing开发一款简单的小日历,下面我们来看代码: 首先创建一个calendarbean类,用于基本的日期计算: package other1; import jav ...

最新文章

  1. R19436221 区间第k小 主席树
  2. python介绍和用途-Python字典简介以及用法详解
  3. Space-Filling Designs
  4. Android(三)——将程序打包成APK文件,进行APK签名以及反编译APK
  5. 原相机怎么拍出网图_专访5位时尚生活达人,他们都用哪款相机记录生活美好瞬间...
  6. 智能指针shared_ptr
  7. Apache Hadoop 3.0.0 GA版正式发布,可以部署到线上
  8. C#中的运算符、数组、枚举、结构体
  9. 44response对象
  10. 关于很多人 年底被炒!
  11. HDU 1069 Monkey and Banana 动态规划
  12. 【泛微Ecology9.0】安装\启用非标功能
  13. 关于USBKEY的CSP学习
  14. Java/大数据常见面试
  15. Unity给力插件之Final IK
  16. c语言种子数使用方法,C语言中的srand的用法,什么是种子?
  17. 【转】大河报重要版面刊登署名永春文章:观猴有感 原始社会平均分配食物的问题 关于母系社会问题 关于人与动物关系的问题...
  18. HTML:如何设置网页标题上的图标
  19. 真无线蓝牙耳机性价比高?真无线蓝牙耳机性价比排行
  20. 基于嵌入式linux的freetype矢量字体简单显示的实现

热门文章

  1. imx6 linux can测试,iTOP-iMX6UL开发板-MiniLinux-CAN测试使用文档
  2. 怎样开始入门学计算机,新手如何开始学电脑 新手学电脑从何入门
  3. 阻击黑客,你需要了解这些云安全“潜规则”
  4. 倍福CX9020(WINCE 7)使用技巧汇总
  5. 图片转文字怎么转?这些方法我只告诉你
  6. springboot配置内存数据库H2
  7. Kanzi学习之路(6):属性绑定
  8. 他们做的通用人工智能,要让所有产品都具备“智能”大脑
  9. 香橙派Zero2电视盒子开发板连接HDMI如何修改分辨率
  10. 【Android】安卓开发实战之软键盘设置