?? example2a.java
字號:
import java.awt.*;import java.applet.*;import java.net.URL;import java.util.*;import graph.*;/***************************************************************************** Applet example2a** Version 1.0 August 1996****************************************************************************** Copyright (C) 1996 Leigh Brookshaw**** This program is free software; you can redistribute it and/or modify** it under the terms of the GNU General Public License as published by** the Free Software Foundation; either version 2 of the License, or** (at your option) any later version.**** This program is distributed in the hope that it will be useful,** but WITHOUT ANY WARRANTY; without even the implied warranty of** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the** GNU General Public License for more details.**** You should have received a copy of the GNU General Public License** along with this program; if not, write to the Free Software** Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.****************************************************************************** This is a simple applet that creates a Scroll Chart using the ** Graph2D class library and double buffering***************************************************************************/public class example2a extends Applet implements Runnable { Graph2D graph; Label title; DataSet data1 = new DataSet(); Axis yaxis_right; Image osi = null; Graphics osg = null; int iwidth = 0; int iheight = 0; Thread runner = null; Random random = new Random(); int count = 0;/*** In milliseconds how often do we want to add a new data point.*/ int period = 500;/*** Maximum number of points to display before scrolling the data*/ int maximum = 25; URL markersURL;/*** Initialize the applet. The Parameters passed are the title of the plot** the marker file to use and the update period in milliseconds*/ public void init() { int i; int j;/*** Get the passed parameters*/ String st = getParameter("TITLE"); String mfile = getParameter("MARKERS"); try { period = Integer.parseInt(getParameter("PERIOD")); } catch (Exception e) { System.out.println("Frequency parameter not an Integer!"); }/*** Create the Graph instance and modify the default behaviour*/ graph = new Graph2D(); graph.zerocolor = new Color(0,255,0); graph.borderTop = 50; graph.borderBottom = 50; graph.setDataBackground(Color.black);/*** Create the Title*/ title = new Label(st, Label.CENTER); title.setFont(new Font("TimesRoman",Font.PLAIN,25)); setLayout( new BorderLayout() ); add("North", title); add("Center", graph);/*** Load a file containing Marker definitions*/ try { markersURL = new URL(getDocumentBase(),mfile); graph.setMarkers(new Markers(markersURL)); } catch(Exception e) { System.out.println("Failed to create Marker URL!"); } /*** Modify the default Data behaviour*/ data1.linecolor = new Color(255,0,0); data1.marker = 1; data1.markercolor = new Color(100,100,255);/*** Setup the Axis. Attach it to the Graph2D instance, and attach the data** to it.*/ yaxis_right = graph.createAxis(Axis.RIGHT); yaxis_right.attachDataSet(data1); yaxis_right.setLabelFont(new Font("Helvetica",Font.PLAIN,20)); graph.attachDataSet(data1); } public void start() { if(runner == null) { runner = new Thread(this); runner.start(); } } public void stop() { if(runner != null) { runner.stop(); runner = null; } } public void run() { int i =0; double data[] = new double[2]; Graphics g; while(true) { count++; if(count >= maximum) data1.delete(0,0); data[1] = (2.0*random.nextDouble()-1.0)*50.0; data[0] = count; try { data1.append(data,1); } catch (Exception e) { System.out.println("Error appending Data!"); } data1.yaxis.maximum = 50.0; data1.yaxis.minimum = -50.0; g = graph.getGraphics(); if( osi == null || iwidth != graph.size().width || iheight != graph.size().height ) { iwidth = graph.size().width; iheight = graph.size().height; osi = graph.createImage(iwidth,iheight); osg = osi.getGraphics(); } osg.setColor(this.getBackground()); osg.fillRect(0,0,iwidth,iheight); osg.setColor(g.getColor()); osg.clipRect(0,0,iwidth,iheight); graph.update(osg); g.drawImage(osi,0,0,graph); try { Thread.sleep(period); } catch(Exception e) { } } }}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -