Removed for the time being.
This commit is contained in:
@ -1,181 +0,0 @@
|
||||
package net.i2p.itoopie.gui.component;
|
||||
|
||||
import info.monitorenter.gui.chart.Chart2D;
|
||||
import info.monitorenter.gui.chart.ITrace2D;
|
||||
import info.monitorenter.gui.chart.ITracePainter;
|
||||
import info.monitorenter.gui.chart.rangepolicies.RangePolicyMinimumViewport;
|
||||
import info.monitorenter.gui.chart.traces.Trace2DLtd;
|
||||
import info.monitorenter.gui.chart.traces.painters.TracePainterPolyline;
|
||||
import info.monitorenter.gui.chart.views.ChartPanel;
|
||||
import info.monitorenter.reflection.ObjRecorder2Trace2DAdapter;
|
||||
import info.monitorenter.util.Range;
|
||||
|
||||
import java.awt.BasicStroke;
|
||||
import java.awt.BorderLayout;
|
||||
import java.awt.Color;
|
||||
import java.awt.Container;
|
||||
import java.awt.event.WindowAdapter;
|
||||
import java.awt.event.WindowEvent;
|
||||
|
||||
import javax.swing.JFrame;
|
||||
|
||||
/**
|
||||
* A test for the <code>Chart2D</code> that constantly adds new tracepoints to a
|
||||
* <code> Trace2DLtd</code>. Mainly the runtime- scaling is interesting.
|
||||
* <p>
|
||||
* Furthermore this is an example on how to connect other components to the
|
||||
* <code>Chart2D</code> using an adaptor- class. If interested have a look on
|
||||
* {@link info.monitorenter.reflection.ObjRecorder2Trace2DAdapter}.
|
||||
* <p>
|
||||
*
|
||||
* @author <a href='mailto:Achim.Westermann@gmx.de'> Achim Westermann </a>
|
||||
* @version $Revision: 1.5 $
|
||||
*/
|
||||
public class Chart extends JFrame {
|
||||
/**
|
||||
* Helper class that holds an internal number that is randomly modified by a
|
||||
* Thread.
|
||||
* <p>
|
||||
*
|
||||
* @author <a href="mailto:Achim.Westermann@gmx.de">Achim Westermann </a>
|
||||
* @version $Revision: 1.5 $
|
||||
*/
|
||||
static class RandomBumper extends Thread {
|
||||
/** Streches or compresses the grade of jumping of the internal number. */
|
||||
protected double m_factor;
|
||||
|
||||
/** The bumping number. */
|
||||
protected double m_number = 0;
|
||||
|
||||
/** The propability of an increase versus a decrease of the bumped number. */
|
||||
protected double m_plusminus = 0.5;
|
||||
|
||||
/** Needed for randomization of bumping the number. */
|
||||
protected java.util.Random m_randomizer = new java.util.Random();
|
||||
|
||||
/**
|
||||
* Creates an instance.
|
||||
* <p>
|
||||
*
|
||||
* @param plusminus
|
||||
* probability to increase or decrease the number each step.
|
||||
* @param factor
|
||||
* affects the amplitude of the number (severity of jumps).
|
||||
*/
|
||||
public RandomBumper(final double plusminus, final int factor) {
|
||||
|
||||
if (plusminus < 0 || plusminus > 1) {
|
||||
System.out.println(this.getClass().getName()
|
||||
+ " ignores constructor-passed value. Must be between 0.0 and 1.0!");
|
||||
} else {
|
||||
this.m_plusminus = plusminus;
|
||||
}
|
||||
this.m_factor = factor;
|
||||
this.setDaemon(true);
|
||||
this.start();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see java.lang.Runnable#run()
|
||||
*/
|
||||
@Override
|
||||
public void run() {
|
||||
|
||||
while (true) {
|
||||
double rand = this.m_randomizer.nextDouble();
|
||||
if (rand < this.m_plusminus) {
|
||||
this.m_number += this.m_randomizer.nextDouble() * this.m_factor;
|
||||
} else {
|
||||
this.m_number -= this.m_randomizer.nextDouble() * this.m_factor;
|
||||
}
|
||||
|
||||
try {
|
||||
Thread.sleep(20);
|
||||
} catch (InterruptedException e) {
|
||||
// nop
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Generated for <code>serialVersionUID</code>.
|
||||
*/
|
||||
private static final long serialVersionUID = 3545231432038627123L;
|
||||
|
||||
/**
|
||||
* Main entry.
|
||||
* <p>
|
||||
*
|
||||
* @param args
|
||||
* ignored.
|
||||
*/
|
||||
public static void main(final String[] args) {
|
||||
|
||||
Chart2D chart = new Chart2D();
|
||||
chart.setUseAntialiasing(true);
|
||||
chart.setMinPaintLatency(20);
|
||||
ITrace2D data = new Trace2DLtd(300);
|
||||
data.setStroke(new BasicStroke(3));
|
||||
data.setColor(new Color(255, 0, 0, 255));
|
||||
data.setName("random");
|
||||
data.setPhysicalUnits("hertz", "ms");
|
||||
|
||||
ITracePainter<?> dotPainter = new TracePainterPolyline();
|
||||
data.setTracePainter(dotPainter);
|
||||
chart.addTrace(data);
|
||||
|
||||
Chart wnd = new Chart(chart, "AntialiasingChart");
|
||||
chart.getAxisX().setPaintGrid(true);
|
||||
chart.getAxisX().setStartMajorTick(false);
|
||||
chart.getAxisY().setPaintGrid(true);
|
||||
|
||||
chart.getAxisX().setPaintScale(true);
|
||||
chart.getAxisX().setPaintScale(true);
|
||||
|
||||
// force ranges:
|
||||
chart.getAxisY().setRangePolicy(new RangePolicyMinimumViewport(new Range(0, 20)));
|
||||
// chart.setFont(new Font(null,0,12));
|
||||
wnd.setLocation(200, 300);
|
||||
wnd.setSize(700, 210);
|
||||
wnd.setResizable(true);
|
||||
wnd.setVisible(true);
|
||||
new ObjRecorder2Trace2DAdapter(data, new RandomBumper(0.5, 1000), "m_number", 1000);
|
||||
}
|
||||
|
||||
/** The chart to use. */
|
||||
protected Chart2D m_chart = null;
|
||||
|
||||
/**
|
||||
* Creates an instance that will dynamically paint on the chart to a trace
|
||||
* with the given label.
|
||||
* <p>
|
||||
*
|
||||
* @param chart
|
||||
* the chart to use.
|
||||
* @param label
|
||||
* the name of the trace too display.
|
||||
*/
|
||||
public Chart(final Chart2D chart, final String label) {
|
||||
|
||||
super(label);
|
||||
this.m_chart = chart;
|
||||
this.addWindowListener(new WindowAdapter() {
|
||||
/**
|
||||
* @see java.awt.event.WindowAdapter#windowClosing(java.awt.event.WindowEvent)
|
||||
*/
|
||||
@Override
|
||||
public void windowClosing(final WindowEvent e) {
|
||||
|
||||
Chart.this.setVisible(false);
|
||||
Chart.this.dispose();
|
||||
System.exit(0);
|
||||
|
||||
}
|
||||
});
|
||||
Container contentPane = this.getContentPane();
|
||||
contentPane.setLayout(new BorderLayout());
|
||||
contentPane.add(new ChartPanel(this.m_chart), BorderLayout.CENTER);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user