⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 animationtester.java

📁 openmap java写的开源数字地图程序. 用applet实现,可以像google map 那样放大缩小地图.
💻 JAVA
字号:
// **********************************************************************// // <copyright>// //  BBN Technologies//  10 Moulton Street//  Cambridge, MA 02138//  (617) 873-8000// //  Copyright (C) BBNT Solutions LLC. All rights reserved.// // </copyright>// **********************************************************************// // $Source: /cvs/distapps/openmap/src/openmap/com/bbn/openmap/graphicLoader/AnimationTester.java,v $// $RCSfile: AnimationTester.java,v $// $Revision: 1.3.2.2 $// $Date: 2004/10/14 18:26:48 $// $Author: dietrick $// // **********************************************************************package com.bbn.openmap.graphicLoader;import java.awt.*;import java.awt.event.*;import java.util.Iterator;import javax.swing.*;import javax.swing.event.*;import com.bbn.openmap.omGraphics.*;import com.bbn.openmap.proj.Projection;import com.bbn.openmap.util.Debug;/** * The AnimationTester is a simple GraphicLoader that lets you toss a * bunch of sprites (circles) up on the map to watch them wiggle, to * get a feel of the paint delay of the map. You can add sprites to * the map (they get placed randomly), and clear the list, and adjust * the length of delay between repaints(). */public class AnimationTester extends AbstractGraphicLoader {    OMGraphicList nodes = new OMGraphicList();    float factor = 1f;    public AnimationTester() {}    public void manageGraphics() {        if (Debug.debugging("animationtester")) {            Debug.output("AnimationTester.manageGraphics with " + nodes.size()                    + " node(s).");        }        Projection p = getProjection();        Iterator it = nodes.iterator();        while (it.hasNext()) {            GLPoint point = (GLPoint) it.next();            point.moveRandomly(factor);            point.generate(p);        }        OMGraphicHandler receiver = getReceiver();        if (receiver != null) {            receiver.setList(nodes);        }    }    public void addNode() {        float ranLat = (float) (Math.random() * 180) - 90f;        float ranLon = (float) (Math.random() * 360) - 180f;        GLPoint point = new GLPoint(ranLat, ranLon, 5, true);        point.setFillPaint(Color.red);        nodes.add(point);    }    public void clearNodes() {        nodes.clear();    }    JPanel panel = null;    String addCmd = "AddSpriteCommand";    String clearCmd = "ClearSpriteCommand";    String timerCmd = "TimerCommand";    public Component getGUI() {        if (panel == null) {            panel = new JPanel(new GridLayout(0, 1));            JPanel buttonBox = new JPanel();            JButton button = new JButton("Add Sprite");            button.setActionCommand(addCmd);            button.addActionListener(this);            buttonBox.add(button);            button = new JButton("Clear Sprites");            button.setActionCommand(clearCmd);            button.addActionListener(this);            buttonBox.add(button);            panel.add(buttonBox);            JLabel label = new JLabel("Timer interval in seconds:");            panel.add(label);            JSlider slider = new JSlider(JSlider.HORIZONTAL, 0/* min */, 50/* max */, 20/* inital */);            java.util.Hashtable dict = new java.util.Hashtable();            dict.put(new Integer(10), new JLabel("1"));            dict.put(new Integer(20), new JLabel("2"));            dict.put(new Integer(30), new JLabel("3"));            dict.put(new Integer(40), new JLabel("4"));            dict.put(new Integer(50), new JLabel("5"));            slider.setLabelTable(dict);            slider.setPaintLabels(true);            slider.setMajorTickSpacing(5);            slider.setPaintTicks(true);            slider.addChangeListener(new ChangeListener() {                public void stateChanged(ChangeEvent ce) {                    JSlider slider2 = (JSlider) ce.getSource();                    if (slider2.getValueIsAdjusting()) {                        manageGraphics();                        float interval = ((float) (slider2.getValue()) + .01f) * 100f;                        Debug.output("Animation Tester delay set to: "                                + interval / 1000f + " seconds");                        setUpdateInterval((int) interval);                    }                }            });            panel.add(slider);            JCheckBox timerButton = new JCheckBox("Run Timer", getTimer().isRunning());            timerButton.setActionCommand(TimerCmd);            timerButton.addActionListener(this);            panel.add(timerButton);        }        return panel;    }    public void actionPerformed(ActionEvent ae) {        String command = ae.getActionCommand();        if (command == addCmd) {            addNode();            if (!getTimer().isRunning()) {                manageGraphics();            }        } else if (command == clearCmd) {            clearNodes();            if (!getTimer().isRunning()) {                manageGraphics();            }        } else if (command == TimerCmd) {            JCheckBox check = (JCheckBox) ae.getSource();            if (check.isSelected()) {                manageGraphics();                getTimer().restart();            } else {                getTimer().stop();            }        } else {            manageGraphics();        }    }}

⌨️ 快捷键说明

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