本文主要是介绍【Java-20】Java实现行星运动,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
效果图(除了行星运动还有滚动代码特效)
主要思想
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
这篇关于【Java-20】Java实现行星运动的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!