superdemo.java
来自「在软件开发中用来绘制各种图表的源码」· Java 代码 · 共 1,115 行 · 第 1/3 页
JAVA
1,115 行
new DemoDescription(
"demo.CombinedXYPlotDemo3",
"CombinedXYPlotDemo3.java"
)
);
DefaultMutableTreeNode n7 = new DefaultMutableTreeNode(
new DemoDescription(
"demo.CombinedXYPlotDemo4",
"CombinedXYPlotDemo4.java"
)
);
root.add(n1);
root.add(n2);
root.add(n3);
root.add(n4);
root.add(n5);
root.add(n6);
root.add(n7);
return root;
}
private MutableTreeNode createGanttChartsNode() {
DefaultMutableTreeNode root = new DefaultMutableTreeNode(
"Gantt Charts"
);
DefaultMutableTreeNode n1 = new DefaultMutableTreeNode(
new DemoDescription("demo.GanttDemo1", "GanttDemo1.java")
);
DefaultMutableTreeNode n2 = new DefaultMutableTreeNode(
new DemoDescription("demo.GanttDemo2", "GanttDemo2.java")
);
root.add(n1);
root.add(n2);
return root;
}
/**
* Creates the subtree containing the miscellaneous chart types.
*
* @return A subtree.
*/
private MutableTreeNode createMiscellaneousChartsNode() {
DefaultMutableTreeNode root = new DefaultMutableTreeNode(
"Miscellaneous");
DefaultMutableTreeNode n0 = new DefaultMutableTreeNode(
new DemoDescription("demo.BoxAndWhiskerChartDemo1",
"BoxAndWhiskerChartDemo1.java"));
DefaultMutableTreeNode n1 = new DefaultMutableTreeNode(
new DemoDescription("demo.BubbleChartDemo1",
"BubbleChartDemo1.java"));
DefaultMutableTreeNode n2 = new DefaultMutableTreeNode(
new DemoDescription("demo.BubbleChartDemo2",
"BubbleChartDemo2.java"));
DefaultMutableTreeNode n3 = new DefaultMutableTreeNode(
new DemoDescription(
"demo.CategoryStepChartDemo1", "CategoryStepChartDemo1.java"
)
);
DefaultMutableTreeNode n4 = new DefaultMutableTreeNode(
new DemoDescription("demo.CompassDemo1", "CompassDemo1.java")
);
DefaultMutableTreeNode n5 = new DefaultMutableTreeNode(
new DemoDescription(
"demo.CompassFormatDemo1", "CompassFormatDemo1.java"
)
);
DefaultMutableTreeNode n6 = new DefaultMutableTreeNode(
new DemoDescription(
"demo.CompassFormatDemo2", "CompassFormatDemo2.java"
)
);
DefaultMutableTreeNode n7 = new DefaultMutableTreeNode(
new DemoDescription(
"demo.DifferenceChartDemo1", "DifferenceChartDemo1.java"
)
);
DefaultMutableTreeNode n8 = new DefaultMutableTreeNode(
new DemoDescription(
"demo.DifferenceChartDemo2", "DifferenceChartDemo2.java"
)
);
DefaultMutableTreeNode n9 = new DefaultMutableTreeNode(
new DemoDescription(
"demo.EventFrequencyDemo1", "EventFrequencyDemo1.java"
)
);
DefaultMutableTreeNode n10 = new DefaultMutableTreeNode(
new DemoDescription("demo.HideSeriesDemo1", "HideSeriesDemo1.java")
);
DefaultMutableTreeNode n11 = new DefaultMutableTreeNode(
new DemoDescription(
"demo.OverlaidBarChartDemo1", "OverlaidBarChartDemo1.java"
)
);
DefaultMutableTreeNode n12 = new DefaultMutableTreeNode(
new DemoDescription(
"demo.OverlaidBarChartDemo2", "OverlaidBarChartDemo2.java"
)
);
DefaultMutableTreeNode n13 = new DefaultMutableTreeNode(
new DemoDescription(
"demo.SpiderWebChartDemo1", "SpiderWebChartDemo1.java"
)
);
DefaultMutableTreeNode n14 = new DefaultMutableTreeNode(
new DemoDescription(
"demo.SymbolAxisDemo1", "SymbolAxisDemo1.java"
)
);
DefaultMutableTreeNode n15 = new DefaultMutableTreeNode(
new DemoDescription("demo.PolarChartDemo1", "PolarChartDemo1.java")
);
DefaultMutableTreeNode n16 = new DefaultMutableTreeNode(
new DemoDescription("demo.YIntervalChartDemo1",
"YIntervalChartDemo1.java"));
root.add(createCrosshairChartsNode());
root.add(createItemLabelsNode());
root.add(createLegendNode());
root.add(createMarkersNode());
root.add(createOrientationNode());
root.add(n0);
root.add(n1);
root.add(n2);
root.add(n3);
root.add(n4);
root.add(n5);
root.add(n6);
root.add(n7);
root.add(n8);
root.add(n9);
root.add(n10);
root.add(n11);
root.add(n12);
root.add(n13);
root.add(n14);
root.add(n15);
root.add(n16);
return root;
}
private MutableTreeNode createCrosshairChartsNode() {
DefaultMutableTreeNode root = new DefaultMutableTreeNode("Crosshairs");
DefaultMutableTreeNode n1 = new DefaultMutableTreeNode(
new DemoDescription("demo.CrosshairDemo1",
"CrosshairDemo1.java"));
DefaultMutableTreeNode n2 = new DefaultMutableTreeNode(
new DemoDescription("demo.CrosshairDemo2",
"CrosshairDemo2.java"));
DefaultMutableTreeNode n3 = new DefaultMutableTreeNode(
new DemoDescription("demo.CrosshairDemo3",
"CrosshairDemo3.java"));
DefaultMutableTreeNode n4 = new DefaultMutableTreeNode(
new DemoDescription("demo.CrosshairDemo4",
"CrosshairDemo4.java"));
root.add(n1);
root.add(n2);
root.add(n3);
root.add(n4);
return root;
}
private MutableTreeNode createItemLabelsNode() {
DefaultMutableTreeNode root = new DefaultMutableTreeNode("Item Labels");
DefaultMutableTreeNode n1 = new DefaultMutableTreeNode(
new DemoDescription("demo.ItemLabelDemo1",
"ItemLabelDemo1.java"));
DefaultMutableTreeNode n2 = new DefaultMutableTreeNode(
new DemoDescription("demo.ItemLabelDemo2",
"ItemLabelDemo2.java"));
DefaultMutableTreeNode n3 = new DefaultMutableTreeNode(
new DemoDescription("demo.ItemLabelDemo3",
"ItemLabelDemo3.java"));
root.add(n1);
root.add(n2);
root.add(n3);
return root;
}
private MutableTreeNode createLegendNode() {
DefaultMutableTreeNode root = new DefaultMutableTreeNode("Legends");
DefaultMutableTreeNode n1 = new DefaultMutableTreeNode(
new DemoDescription("demo.LegendWrapperDemo1",
"LegendWrapperDemo1.java"));
root.add(n1);
return root;
}
private MutableTreeNode createMarkersNode() {
DefaultMutableTreeNode root = new DefaultMutableTreeNode("Markers");
DefaultMutableTreeNode n1 = new DefaultMutableTreeNode(
new DemoDescription("demo.CategoryMarkerDemo1",
"CategoryMarkerDemo1.java"));
DefaultMutableTreeNode n2 = new DefaultMutableTreeNode(
new DemoDescription("demo.CategoryMarkerDemo2",
"CategoryMarkerDemo2.java"));
DefaultMutableTreeNode n3 = new DefaultMutableTreeNode(
new DemoDescription("demo.MarkerDemo1", "MarkerDemo1.java"));
DefaultMutableTreeNode n4 = new DefaultMutableTreeNode(
new DemoDescription("demo.MarkerDemo2", "MarkerDemo2.java"));
root.add(n1);
root.add(n2);
root.add(n3);
root.add(n4);
return root;
}
private MutableTreeNode createOrientationNode() {
DefaultMutableTreeNode root = new DefaultMutableTreeNode(
"Plot Orientation"
);
DefaultMutableTreeNode n1 = new DefaultMutableTreeNode(
new DemoDescription(
"demo.PlotOrientationDemo1", "PlotOrientationDemo1.java"
)
);
DefaultMutableTreeNode n2 = new DefaultMutableTreeNode(
new DemoDescription(
"demo.PlotOrientationDemo2", "PlotOrientationDemo2.java"
)
);
root.add(n1);
root.add(n2);
return root;
}
private void displayDescription(String fileName) {
java.net.URL descriptionURL = SuperDemo.class.getResource(fileName);
if (descriptionURL != null) {
try {
this.descriptionPane.setPage(descriptionURL);
}
catch (IOException e) {
System.err.println(
"Attempted to read a bad URL: " + descriptionURL
);
}
}
else {
System.err.println("Couldn't find file: " + fileName);
}
}
/**
* Receives notification of tree selection events and updates the demo
* display accordingly.
*
* @param event the event.
*/
public void valueChanged(TreeSelectionEvent event) {
TreePath path = event.getPath();
Object obj = path.getLastPathComponent();
if (obj != null) {
DefaultMutableTreeNode n = (DefaultMutableTreeNode) obj;
Object userObj = n.getUserObject();
if (userObj instanceof DemoDescription) {
DemoDescription dd = (DemoDescription) userObj;
SwingUtilities.invokeLater(new DisplayDemo(this, dd));
}
else {
this.chartContainer.removeAll();
this.chartContainer.add(createNoDemoSelectedPanel());
this.displayPanel.validate();
displayDescription("select.html");
}
}
System.out.println(obj);
}
private JPanel createNoDemoSelectedPanel() {
JPanel panel = new JPanel(new FlowLayout());
panel.add(new JLabel("No demo selected"));
panel.setPreferredSize(new Dimension(600, 400));
return panel;
}
/**
* Starting point for the JFreeChart Demo Collection.
*
* @param args ignored.
*/
public static void main(String[] args) {
SuperDemo demo = new SuperDemo("JFreeChart Demo Collection");
demo.pack();
RefineryUtilities.centerFrameOnScreen(demo);
demo.setVisible(true);
}
static class DisplayDemo implements Runnable {
private SuperDemo app;
private DemoDescription demoDescription;
/**
* Creates a new runnable.
*
* @param app the application.
* @param d the demo description.
*/
public DisplayDemo(SuperDemo app, DemoDescription d) {
this.app = app;
this.demoDescription = d;
}
/**
* Runs the task.
*/
public void run() {
try {
Class c = Class.forName(this.demoDescription.getClassName());
Method m = c.getDeclaredMethod("createDemoPanel", null);
JPanel panel = (JPanel) m.invoke(null, null);
this.app.chartContainer.removeAll();
this.app.chartContainer.add(panel);
this.app.displayPanel.validate();
String className = c.getName();
String fileName = className;
int i = className.lastIndexOf('.');
if (i > 0) {
fileName = className.substring(i + 1);
}
fileName = fileName + ".html";
this.app.displayDescription(fileName);
}
catch (ClassNotFoundException e1) {
e1.printStackTrace();
}
catch (NoSuchMethodException e2) {
e2.printStackTrace();
}
catch (InvocationTargetException e3) {
e3.printStackTrace();
}
catch (IllegalAccessException e4) {
e4.printStackTrace();
}
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?