package com.ogane.xi.test; import java.awt.*; import java.awt.event.*; import com.ogane.xi.Meter; import com.ogane.xi.PseudoSignal; public class MeterTest extends Frame { // 擬似信号 PseudoSignal kmh = new PseudoSignal(PseudoSignal.SIGN, 0., 160. , 0.1); PseudoSignal lit = new PseudoSignal(PseudoSignal.SLOPE, 0., 50., 0.03); PseudoSignal rpm = new PseudoSignal(PseudoSignal.COSIGN, 10., 50., 0.5); PseudoSignal amp = new PseudoSignal(PseudoSignal.GAUSSIAN, -0.4, 0.4, 0.); public MeterTest() { enableEvents(AWTEvent.WINDOW_EVENT_MASK); setTitle("MeterTest"); setLayout(new GridLayout(2, 2, 20, 20)); setBackground(new Color(220, 211, 200)); //---- 速度計 ------ Meter speed = new Meter("Km/h", 0., 0., 200.); speed.setRedZone(100.); kmh.connect(speed); add(speed); //----- 回転計 ------ Meter revol = new Meter(); revol.setUnit("x100 rpm"); revol.setMaximum(80.); revol.setNumTicks(9, 4); revol.setGreenZoneColor(Color.green); revol.setYellowZone(50.); revol.setRedZone(60.); rpm.connect(revol); add(revol); //------ 電流計 ------ Meter battery = new Meter("A", 0., -5., +5.); amp.connect(battery); add(battery); //------ 燃料計 ------- Meter fuel = new Meter("Litter", 50., 0., 50., 6, 1); lit.connect(fuel); add(fuel); // 擬似信号発生 kmh.start(); lit.start(); amp.start(); rpm.start(); setSize(430, 340); setVisible(true); } protected void processWindowEvent(WindowEvent e) { super.processWindowEvent(e); if (e.getID() == WindowEvent.WINDOW_CLOSING) { System.exit(0); } } public static void main(String[] args) { new MeterTest(); } }