📄 superdemo.java
字号:
out.close();
}
/**
* Exits the application, but only if the user agrees.
*/
private void attemptExit() {
String title = "Confirm";
String message = "Are you sure you want to exit the demo?";
int result = JOptionPane.showConfirmDialog(
this, message, title, JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE
);
if (result == JOptionPane.YES_OPTION) {
dispose();
System.exit(0);
}
}
private JPanel createChartDisplayPanel() {
this.displayPanel = new JPanel(new BorderLayout());
this.chartContainer = new JPanel(new BorderLayout());
this.chartContainer.setBorder(
BorderFactory.createCompoundBorder(
BorderFactory.createEmptyBorder(4, 4, 4, 4),
BorderFactory.createLineBorder(Color.black)
)
);
this.chartContainer.add(createNoDemoSelectedPanel());
this.descriptionContainer = new JPanel(new BorderLayout());
this.descriptionContainer.setBorder(
BorderFactory.createEmptyBorder(4, 4, 4, 4)
);
this.descriptionContainer.setPreferredSize(new Dimension(600, 140));
this.descriptionPane = new JTextPane();
this.descriptionPane.setEditable(false);
JScrollPane scroller = new JScrollPane(
this.descriptionPane,
ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,
ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER
);
this.descriptionContainer.add(scroller);
displayDescription("select.html");
JSplitPane splitter = new JSplitPane(JSplitPane.VERTICAL_SPLIT);
splitter.setTopComponent(this.chartContainer);
splitter.setBottomComponent(this.descriptionContainer);
this.displayPanel.add(splitter);
splitter.setDividerLocation(0.75);
return this.displayPanel;
}
/**
* Creates a <code>TreeModel</code> with references to all the individual
* demo applications. This is an ugly piece of hard-coding but, hey, it's
* just a demo!
*
* @return A TreeModel.
*/
private TreeModel createTreeModel() {
DefaultMutableTreeNode root = new DefaultMutableTreeNode("JFreeChart");
root.add(createPieChartsNode());
root.add(createBarChartsNode());
root.add(createLineChartsNode());
root.add(createAreaChartsNode());
root.add(createTimeSeriesChartsNode());
root.add(createFinancialChartsNode());
root.add(createXYChartsNode());
root.add(createMeterChartsNode());
root.add(createMultipleAxisChartsNode());
root.add(createCombinedAxisChartsNode());
root.add(createGanttChartsNode());
root.add(createMiscellaneousChartsNode());
return new DefaultTreeModel(root);
}
/**
* Creates the tree node for the pie chart demos.
*
* @return A populated tree node.
*/
private MutableTreeNode createPieChartsNode() {
DefaultMutableTreeNode root = new DefaultMutableTreeNode("Pie Charts");
DefaultMutableTreeNode n1 = new DefaultMutableTreeNode(
new DemoDescription("demo.PieChartDemo1",
"PieChartDemo1.java"));
DefaultMutableTreeNode n2 = new DefaultMutableTreeNode(
new DemoDescription("demo.PieChartDemo2",
"PieChartDemo2.java"));
DefaultMutableTreeNode n3 = new DefaultMutableTreeNode(
new DemoDescription("demo.PieChartDemo3",
"PieChartDemo3.java"));
DefaultMutableTreeNode n4 = new DefaultMutableTreeNode(
new DemoDescription("demo.PieChartDemo8",
"PieChartDemo8.java"));
DefaultMutableTreeNode n5 = new DefaultMutableTreeNode(
new DemoDescription("demo.PieChart3DDemo1",
"PieChart3DDemo1.java"));
DefaultMutableTreeNode n6 = new DefaultMutableTreeNode(
new DemoDescription("demo.PieChart3DDemo2",
"PieChart3DDemo2.java"));
DefaultMutableTreeNode n7 = new DefaultMutableTreeNode(
new DemoDescription("demo.PieChart3DDemo3",
"PieChart3DDemo3.java"));
DefaultMutableTreeNode n8 = new DefaultMutableTreeNode(
new DemoDescription("demo.MultiplePieChartDemo1",
"MultiplePieChartDemo1.java"));
DefaultMutableTreeNode n9 = new DefaultMutableTreeNode(
new DemoDescription("demo.RingChartDemo1", "RingChartDemo1.java"));
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);
return root;
}
/**
* Creates a tree node containing sample bar charts.
*
* @return The tree node.
*/
private MutableTreeNode createBarChartsNode() {
DefaultMutableTreeNode root = new DefaultMutableTreeNode("Bar Charts");
root.add(createCategoryBarChartsNode());
root.add(createXYBarChartsNode());
return root;
}
/**
* Creates a tree node containing bar charts based on the
* {@link CategoryPlot} class.
*
* @return The tree node.
*/
private MutableTreeNode createCategoryBarChartsNode() {
DefaultMutableTreeNode root
= new DefaultMutableTreeNode("CategoryPlot");
MutableTreeNode n1 = new DefaultMutableTreeNode(new DemoDescription(
"demo.BarChartDemo1", "BarChartDemo1.java"));
MutableTreeNode n2 = new DefaultMutableTreeNode(new DemoDescription(
"demo.BarChartDemo2", "BarChartDemo2.java"));
MutableTreeNode n3 = new DefaultMutableTreeNode(new DemoDescription(
"demo.BarChartDemo3", "BarChartDemo3.java"));
MutableTreeNode n4 = new DefaultMutableTreeNode(new DemoDescription(
"demo.BarChartDemo4", "BarChartDemo4.java"));
MutableTreeNode n5 = new DefaultMutableTreeNode(new DemoDescription(
"demo.BarChartDemo5", "BarChartDemo5.java"));
MutableTreeNode n6 = new DefaultMutableTreeNode(new DemoDescription(
"demo.BarChartDemo6", "BarChartDemo6.java"));
MutableTreeNode n7 = new DefaultMutableTreeNode(new DemoDescription(
"demo.BarChartDemo7", "BarChartDemo7.java"));
MutableTreeNode n8 = new DefaultMutableTreeNode(new DemoDescription(
"demo.BarChartDemo8", "BarChartDemo8.java"));
MutableTreeNode n9 = new DefaultMutableTreeNode(new DemoDescription(
"demo.BarChartDemo9", "BarChartDemo9.java"));
MutableTreeNode n10 = new DefaultMutableTreeNode(new DemoDescription(
"demo.BarChartDemo10", "BarChartDemo10.java"));
MutableTreeNode n11 = new DefaultMutableTreeNode(new DemoDescription(
"demo.BarChart3DDemo1", "BarChart3DDemo1.java"));
MutableTreeNode n12 = new DefaultMutableTreeNode(new DemoDescription(
"demo.BarChart3DDemo2", "BarChart3DDemo2.java"));
MutableTreeNode n13 = new DefaultMutableTreeNode(new DemoDescription(
"demo.BarChart3DDemo3", "BarChart3DDemo3.java"));
MutableTreeNode n13a = new DefaultMutableTreeNode(new DemoDescription(
"demo.BarChart3DDemo4", "BarChart3DDemo4.java"));
MutableTreeNode n13b = new DefaultMutableTreeNode(new DemoDescription(
"demo.CylinderChartDemo1", "CylinderChartDemo1.java"));
MutableTreeNode n14 = new DefaultMutableTreeNode(new DemoDescription(
"demo.IntervalBarChartDemo1", "IntervalBarChartDemo1.java"));
MutableTreeNode n15 = new DefaultMutableTreeNode(new DemoDescription(
"demo.LayeredBarChartDemo1", "LayeredBarChartDemo1.java"));
MutableTreeNode n16 = new DefaultMutableTreeNode(new DemoDescription(
"demo.LayeredBarChartDemo2", "LayeredBarChartDemo2.java"));
MutableTreeNode n17 = new DefaultMutableTreeNode(new DemoDescription(
"demo.StackedBarChartDemo1", "StackedBarChartDemo1.java"));
MutableTreeNode n18 = new DefaultMutableTreeNode(new DemoDescription(
"demo.StackedBarChartDemo2", "StackedBarChartDemo2.java"));
MutableTreeNode n19 = new DefaultMutableTreeNode(new DemoDescription(
"demo.StackedBarChartDemo3", "StackedBarChartDemo3.java"));
MutableTreeNode n20 = new DefaultMutableTreeNode(new DemoDescription(
"demo.StackedBarChartDemo4", "StackedBarChartDemo4.java"));
MutableTreeNode n21 = new DefaultMutableTreeNode(new DemoDescription(
"demo.StackedBarChartDemo5", "StackedBarChartDemo5.java"));
MutableTreeNode n22 = new DefaultMutableTreeNode(new DemoDescription(
"demo.StackedBarChartDemo6", "StackedBarChartDemo6.java"));
MutableTreeNode n23 = new DefaultMutableTreeNode(new DemoDescription(
"demo.StatisticalBarChartDemo1",
"StatisticalBarChartDemo1.java"));
MutableTreeNode n24 = new DefaultMutableTreeNode(new DemoDescription(
"demo.WaterfallChartDemo1", "WaterfallChartDemo1.java"));
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(n13a);
root.add(n13b);
root.add(n14);
root.add(n15);
root.add(n16);
root.add(n17);
root.add(n18);
root.add(n19);
root.add(n20);
root.add(n21);
root.add(n22);
root.add(n23);
root.add(n24);
return root;
}
private MutableTreeNode createXYBarChartsNode() {
DefaultMutableTreeNode root = new DefaultMutableTreeNode("XYPlot");
DefaultMutableTreeNode n1 = new DefaultMutableTreeNode(
new DemoDescription("demo.HistogramDemo1",
"HistogramDemo1.java"));
DefaultMutableTreeNode n2 = new DefaultMutableTreeNode(
new DemoDescription("demo.XYBarChartDemo1",
"XYBarChartDemo1.java"));
DefaultMutableTreeNode n3 = new DefaultMutableTreeNode(
new DemoDescription("demo.XYBarChartDemo2",
"XYBarChartDemo2.java"));
DefaultMutableTreeNode n4 = new DefaultMutableTreeNode(
new DemoDescription("demo.XYBarChartDemo3",
"XYBarChartDemo3.java"));
DefaultMutableTreeNode n5 = new DefaultMutableTreeNode(
new DemoDescription("demo.XYBarChartDemo4",
"XYBarChartDemo4.java"));
root.add(n1);
root.add(n2);
root.add(n3);
root.add(n4);
root.add(n5);
return root;
}
/**
* Creates a tree node containing line chart items.
*
* @return A tree node.
*/
private MutableTreeNode createLineChartsNode() {
DefaultMutableTreeNode root = new DefaultMutableTreeNode("Line Charts");
DefaultMutableTreeNode n1 = new DefaultMutableTreeNode(
new DemoDescription("demo.AnnotationDemo1",
"AnnotationDemo1.java"));
DefaultMutableTreeNode n2 = new DefaultMutableTreeNode(
new DemoDescription("demo.LineChartDemo1",
"LineChartDemo1.java"));
DefaultMutableTreeNode n3 = new DefaultMutableTreeNode(
new DemoDescription("demo.LineChartDemo2",
"LineChartDemo2.java"));
DefaultMutableTreeNode n4 = new DefaultMutableTreeNode(
new DemoDescription("demo.LineChartDemo3",
"LineChartDemo3.java"));
DefaultMutableTreeNode n5 = new DefaultMutableTreeNode(
new DemoDescription("demo.LineChartDemo4",
"LineChartDemo4.java"));
DefaultMutableTreeNode n6 = new DefaultMutableTreeNode(
new DemoDescription("demo.LineChartDemo5",
"LineChartDemo5.java"));
DefaultMutableTreeNode n7 = new DefaultMutableTreeNode(
new DemoDescription("demo.LineChartDemo6",
"LineChartDemo6.java"));
DefaultMutableTreeNode n8 = new DefaultMutableTreeNode(
new DemoDescription("demo.LineChartDemo7",
"LineChartDemo7.java"));
DefaultMutableTreeNode n9 = new DefaultMutableTreeNode(
new DemoDescription("demo.LineChartDemo8",
"LineChartDemo8.java"));
DefaultMutableTreeNode n10 = new DefaultMutableTreeNode(
new DemoDescription("demo.NormalDistributionDemo",
"NormalDistributionDemo.java"));
DefaultMutableTreeNode n11 = new DefaultMutableTreeNode(
new DemoDescription("demo.StatisticalLineChartDemo1",
"StatisticalLineChartDemo1.java"));
DefaultMutableTreeNode n12 = new DefaultMutableTreeNode(
new DemoDescription("demo.XYStepRendererDemo1",
"XYStepRendererDemo1.java"));
DefaultMutableTreeNode n13 = new DefaultMutableTreeNode(
new DemoDescription("demo.XYStepRendererDemo2",
"XYStepRendererDemo2.java"));
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);
return root;
}
/**
* A node for various area charts.
*
* @return The node.
*/
private MutableTreeNode createAreaChartsNode() {
DefaultMutableTreeNode root = new DefaultMutableTreeNode("Area Charts");
DefaultMutableTreeNode n1 = new DefaultMutableTreeNode(
new DemoDescription("demo.AreaChartDemo1", "AreaChartDemo1.java"));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -