アナログ時計を作ります。
import java.awt.Color; import java.awt.Graphics2D; import MyTokeiAnalog; import Tpl10; public class Tokei extends Tpl10 { // 円の半径 double r; public void init() { // 画面 tr.move(getWidth() / 2, getHeight() / 2); tr.set(1, 0, 0, -1); tr.scale(50); // 時計の半径 r = 2; // Timerを1秒間隔にする setTimer(1000); } public void draw(Graphics2D g2) { // 現在の時刻を取得 MyTokeiAnalog clock = new MyTokeiAnalog(); double x, y; // アナログ時計 g2.setColor(Color.orange); g2.draw(tr.Circle(0, 0, 0.98 * r)); // 時計 for (int i = 0; i < 360; i += 6) { x = 0.8 * r * Math.cos(Math.toRadians(i)); y = 0.8 * r * Math.sin(Math.toRadians(i)); if (i % 30 == 0) { g2.setColor(Color.magenta); } else { g2.setColor(Color.cyan); } g2.fill(tr.Point(x, y)); } // 秒針 g2.setColor(Color.lightGray); x = 0.6 * r * Math.cos(clock.getRadSec()); y = 0.6 * r * Math.sin(clock.getRadSec()); g2.draw(tr.Line(0, 0, x, y)); g2.setColor(Color.black); // 長針h x = 0.9 * r * Math.cos(clock.getRadMin()); y = 0.9 * r * Math.sin(clock.getRadMin()); g2.draw(tr.Line(0, 0, x, y)); // 短針 x = 0.5 * r * Math.cos(clock.getRadHour()); y = 0.5 * r * Math.sin(clock.getRadHour()); g2.draw(tr.Line(0, 0, x, y)); } }