infomoon.java

来自「这是一个手机上的J2ME程序」· Java 代码 · 共 41 行

JAVA
41
字号
// J2ME Compass
// Copyright (C) 2007 Dana Peters
// http://www.qcontinuum.org/compass

package org.qcontinuum.compass;

import java.util.*;
import javax.microedition.lcdui.*;
import org.qcontinuum.astro.*;
import henson.midp.Float;

public class InfoMoon extends Progress {
    
    private Displayable mParent;
    
    public InfoMoon(Displayable parent) {
        super("Moon", parent);
        mParent = parent;
        start();
    }

    public void run() {
        Date localDate = Compass.getDate();
        SunMoonPosition sunMoonPosition = new SunMoonPosition(localDate);
        HorizontalPosition moonPosition = sunMoonPosition.getMoonPosition();
        Float moonPhase = sunMoonPosition.getMoonPhase();
        Location location = Compass.getPreferences().getLocation();
        RiseSetTime riseSetTime = new RiseSetTime(RiseSetTime.MOONRISESET, location.getGmt(localDate),
                location.getDstOffset(localDate), location.getEarthPosition());
        InfoDisplay infoDisplay = new InfoDisplay("Moon", mParent);
        infoDisplay.append(new StringItem("Azimuth:", Compass.getFloat(moonPosition.getAzimuthFloat(), 1) + "癨n"));
        infoDisplay.append(new StringItem("Altitude:", Compass.getFloat(moonPosition.getElevationFloat(), 1) + "癨n"));
        infoDisplay.append(new StringItem("Phase:", Compass.getFloat(moonPhase.Mul(100), 1) + "%\n"));
        infoDisplay.append(new StringItem(null, " \n"));
        infoDisplay.append(new StringItem("Rise:", Compass.getTime(riseSetTime.getRiseTime()) + "\n"));
        infoDisplay.append(new StringItem("Set:", Compass.getTime(riseSetTime.getSetTime())));
        if (isShown())
            Compass.display(infoDisplay);
    }
   
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?