【Java-20】Java实现行星运动

本文介绍了如何使用Java编程实现行星运动的模拟,包括窗口加载、太阳及行星类的设计,通过循环绘制太阳、地球、行星和月亮。代码中利用线程每40毫秒更新一次画面,并详细讲解了画图的位置调整和字幕滚动效果。提供了完整Java项目的代码注释和下载链接。
摘要由CSDN通过智能技术生成

效果图(除了行星运动还有滚动代码特效)

主要思想

solarFengzhuang继承自窗口加载类,lunch是父类加载窗口方法,且父类中还有paint方法,paint方法在此子类中被重写,lunch一旦加载就会显示出窗口,之后会启动线程,线程工作是个循环过程,每隔40毫秒循环一次,每次循环会在窗口调用paint方法,在这个项目中,每个循环会画一次太阳、地球、行星、月亮,而这个画的操作我们把它封装到一个类中,先把太阳封装起来,封装的类有需要加载的太阳图片、位置、以及画的方法,类搞好之后我们创建一个太阳对象,创建时候对其初始化,就是把参数传进去然后由对象调用画的方法,对于地球、行星、月亮由于其位置还与围绕的星位置有关故类应该与太阳不同,继承即可
        
对于字幕来说,先将字幕读入到字符串string,中然后分割到字符串数组str[]中,在paint方法内每次都输出每一个字符串,只不过字符串位置要随着变量变化而变化
        
同时还要明确,对于字符串、图片、椭圆来说使用g.drawx画的输入位置都是图片左上角位置,要想画理想位置,应该用x-图片宽度

 

以下是Java详尽注释代码

1.窗口加载类

package nextpackage;

import java.awt.Color;
import java.awt.Font;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.Random;

/**
 * 加载出窗口
 * 
 * @author My_2
 * 
 */
public class gameFrame extends Frame {
	/**
	 * 加载窗口
	 */
	public void lunch() {
		setSize(Constant.Frame_wide, Constant.Frame_high);// 画布大小,windows类下面方法,继承得到的
		setLocation(0, 0);// 画布左上角位置
		setVisible(true);// 画布可
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值