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

📄 superdemo.java

📁 jfreechart1.0.6源程序,没有注释,不过都能运行起来
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
        else
        if(s.equals("EXIT"))
            attemptExit();
    }

    private void exportToPDF()
    {
        java.awt.Component component = chartContainer.getComponent(0);
        if(component instanceof ChartPanel)
        {
            JFileChooser jfilechooser = new JFileChooser();
            jfilechooser.setName("untitled.pdf");
            jfilechooser.setFileFilter(new FileFilter() {

                public boolean accept(File file)
                {
                    return file.isDirectory() || file.getName().endsWith(".pdf");
                }

                public String getDescription()
                {
                    return "Portable Document Format (PDF)";
                }

            }
);
            int i = jfilechooser.showSaveDialog(this);
            if(i == 0)
            {
                ChartPanel chartpanel = (ChartPanel)component;
                try
                {
                    JFreeChart jfreechart = (JFreeChart)chartpanel.getChart().clone();
                    PDFExportTask pdfexporttask = new PDFExportTask(jfreechart, chartpanel.getWidth(), chartpanel.getHeight(), jfilechooser.getSelectedFile());
                    Thread thread = new Thread(pdfexporttask);
                    thread.start();
                }
                catch(CloneNotSupportedException clonenotsupportedexception)
                {
                    clonenotsupportedexception.printStackTrace();
                }
            }
        } else
        {
            String s = "Unable to export the selected item.  There is ";
            s = s + "either no chart selected,\nor else the chart is not ";
            s = s + "at the expected location in the component hierarchy\n";
            s = s + "(future versions of the demo may include code to ";
            s = s + "handle these special cases).";
            JOptionPane.showMessageDialog(this, s, "PDF Export", 1);
        }
    }

    public static void writeChartAsPDF(OutputStream outputstream, JFreeChart jfreechart, int i, int j, FontMapper fontmapper)
        throws IOException
    {
        Rectangle rectangle = new Rectangle(i, j);
        Document document = new Document(rectangle, 50F, 50F, 50F, 50F);
        try
        {
            PdfWriter pdfwriter = PdfWriter.getInstance(document, outputstream);
            document.addAuthor("JFreeChart");
            document.addSubject("Demonstration");
            document.open();
            PdfContentByte pdfcontentbyte = pdfwriter.getDirectContent();
            PdfTemplate pdftemplate = pdfcontentbyte.createTemplate(i, j);
            Graphics2D graphics2d = pdftemplate.createGraphics(i, j, fontmapper);
            java.awt.geom.Rectangle2D.Double double1 = new java.awt.geom.Rectangle2D.Double(0.0D, 0.0D, i, j);
            jfreechart.draw(graphics2d, double1);
            graphics2d.dispose();
            pdfcontentbyte.addTemplate(pdftemplate, 0.0F, 0.0F);
        }
        catch(DocumentException documentexception)
        {
            System.err.println(documentexception.getMessage());
        }
        document.close();
    }

    public static void saveChartAsPDF(File file, JFreeChart jfreechart, int i, int j, FontMapper fontmapper)
        throws IOException
    {
        BufferedOutputStream bufferedoutputstream = new BufferedOutputStream(new FileOutputStream(file));
        writeChartAsPDF(bufferedoutputstream, jfreechart, i, j, fontmapper);
        bufferedoutputstream.close();
    }

    private void attemptExit()
    {
        String s = "Confirm";
        String s1 = "Are you sure you want to exit the demo?";
        int i = JOptionPane.showConfirmDialog(this, s1, s, 0, 3);
        if(i == 0)
        {
            dispose();
            System.exit(0);
        }
    }

    private JPanel createChartDisplayPanel()
    {
        displayPanel = new JPanel(new BorderLayout());
        chartContainer = new JPanel(new BorderLayout());
        chartContainer.setBorder(BorderFactory.createCompoundBorder(BorderFactory.createEmptyBorder(4, 4, 4, 4), BorderFactory.createLineBorder(Color.black)));
        chartContainer.add(createNoDemoSelectedPanel());
        descriptionContainer = new JPanel(new BorderLayout());
        descriptionContainer.setBorder(BorderFactory.createEmptyBorder(4, 4, 4, 4));
        descriptionContainer.setPreferredSize(new Dimension(600, 140));
        descriptionPane = new JTextPane();
        descriptionPane.setEditable(false);
        JScrollPane jscrollpane = new JScrollPane(descriptionPane, 20, 31);
        descriptionContainer.add(jscrollpane);
        displayDescription("select.html");
        JSplitPane jsplitpane = new JSplitPane(0);
        jsplitpane.setTopComponent(chartContainer);
        jsplitpane.setBottomComponent(descriptionContainer);
        displayPanel.add(jsplitpane);
        jsplitpane.setDividerLocation(0.75D);
        return displayPanel;
    }

    private TreeModel createTreeModel()
    {
        DefaultMutableTreeNode defaultmutabletreenode = new DefaultMutableTreeNode("JFreeChart");
        defaultmutabletreenode.add(createAreaChartsNode());
        defaultmutabletreenode.add(createBarChartsNode());
        defaultmutabletreenode.add(createCombinedAxisChartsNode());
        defaultmutabletreenode.add(createFinancialChartsNode());
        defaultmutabletreenode.add(createGanttChartsNode());
        defaultmutabletreenode.add(createLineChartsNode());
        defaultmutabletreenode.add(createMeterChartsNode());
        defaultmutabletreenode.add(createMultipleAxisChartsNode());
        defaultmutabletreenode.add(createOverlaidChartsNode());
        defaultmutabletreenode.add(createPieChartsNode());
        defaultmutabletreenode.add(createStatisticalChartsNode());
        defaultmutabletreenode.add(createTimeSeriesChartsNode());
        defaultmutabletreenode.add(createXYChartsNode());
        defaultmutabletreenode.add(createMiscellaneousChartsNode());
        defaultmutabletreenode.add(createExperimentalNode());
        return new DefaultTreeModel(defaultmutabletreenode);
    }

    private MutableTreeNode createPieChartsNode()
    {
        DefaultMutableTreeNode defaultmutabletreenode = new DefaultMutableTreeNode("Pie Charts");
        DefaultMutableTreeNode defaultmutabletreenode1 = new DefaultMutableTreeNode(new DemoDescription("demo.PieChartDemo1", "PieChartDemo1.java"));
        DefaultMutableTreeNode defaultmutabletreenode2 = new DefaultMutableTreeNode(new DemoDescription("demo.PieChartDemo2", "PieChartDemo2.java"));
        DefaultMutableTreeNode defaultmutabletreenode3 = new DefaultMutableTreeNode(new DemoDescription("demo.PieChartDemo3", "PieChartDemo3.java"));
        DefaultMutableTreeNode defaultmutabletreenode4 = new DefaultMutableTreeNode(new DemoDescription("demo.PieChartDemo4", "PieChartDemo4.java"));
        DefaultMutableTreeNode defaultmutabletreenode5 = new DefaultMutableTreeNode(new DemoDescription("demo.PieChartDemo5", "PieChartDemo5.java"));
        DefaultMutableTreeNode defaultmutabletreenode6 = new DefaultMutableTreeNode(new DemoDescription("demo.PieChartDemo6", "PieChartDemo6.java"));
        DefaultMutableTreeNode defaultmutabletreenode7 = new DefaultMutableTreeNode(new DemoDescription("demo.PieChartDemo7", "PieChartDemo7.java"));
        DefaultMutableTreeNode defaultmutabletreenode8 = new DefaultMutableTreeNode(new DemoDescription("demo.PieChartDemo8", "PieChartDemo8.java"));
        DefaultMutableTreeNode defaultmutabletreenode9 = new DefaultMutableTreeNode(new DemoDescription("demo.PieChart3DDemo1", "PieChart3DDemo1.java"));
        DefaultMutableTreeNode defaultmutabletreenode10 = new DefaultMutableTreeNode(new DemoDescription("demo.PieChart3DDemo2", "PieChart3DDemo2.java"));
        DefaultMutableTreeNode defaultmutabletreenode11 = new DefaultMutableTreeNode(new DemoDescription("demo.PieChart3DDemo3", "PieChart3DDemo3.java"));
        DefaultMutableTreeNode defaultmutabletreenode12 = new DefaultMutableTreeNode(new DemoDescription("demo.MultiplePieChartDemo1", "MultiplePieChartDemo1.java"));
        DefaultMutableTreeNode defaultmutabletreenode13 = new DefaultMutableTreeNode(new DemoDescription("demo.RingChartDemo1", "RingChartDemo1.java"));
        defaultmutabletreenode.add(defaultmutabletreenode1);
        defaultmutabletreenode.add(defaultmutabletreenode2);
        defaultmutabletreenode.add(defaultmutabletreenode3);
        defaultmutabletreenode.add(defaultmutabletreenode4);
        defaultmutabletreenode.add(defaultmutabletreenode5);
        defaultmutabletreenode.add(defaultmutabletreenode6);
        defaultmutabletreenode.add(defaultmutabletreenode7);
        defaultmutabletreenode.add(defaultmutabletreenode8);
        defaultmutabletreenode.add(defaultmutabletreenode9);
        defaultmutabletreenode.add(defaultmutabletreenode10);
        defaultmutabletreenode.add(defaultmutabletreenode11);
        defaultmutabletreenode.add(defaultmutabletreenode12);
        defaultmutabletreenode.add(defaultmutabletreenode13);
        return defaultmutabletreenode;
    }

    private MutableTreeNode createOverlaidChartsNode()
    {
        DefaultMutableTreeNode defaultmutabletreenode = new DefaultMutableTreeNode("Overlaid Charts");
        DefaultMutableTreeNode defaultmutabletreenode1 = new DefaultMutableTreeNode(new DemoDescription("demo.OverlaidBarChartDemo1", "OverlaidBarChartDemo1.java"));
        DefaultMutableTreeNode defaultmutabletreenode2 = new DefaultMutableTreeNode(new DemoDescription("demo.OverlaidBarChartDemo2", "OverlaidBarChartDemo2.java"));
        DefaultMutableTreeNode defaultmutabletreenode3 = new DefaultMutableTreeNode(new DemoDescription("demo.OverlaidXYPlotDemo1", "OverlaidXYPlotDemo1.java"));
        DefaultMutableTreeNode defaultmutabletreenode4 = new DefaultMutableTreeNode(new DemoDescription("demo.OverlaidXYPlotDemo2", "OverlaidXYPlotDemo2.java"));
        defaultmutabletreenode.add(defaultmutabletreenode1);
        defaultmutabletreenode.add(defaultmutabletreenode2);
        defaultmutabletreenode.add(defaultmutabletreenode3);
        defaultmutabletreenode.add(defaultmutabletreenode4);
        return defaultmutabletreenode;
    }

    private MutableTreeNode createBarChartsNode()
    {
        DefaultMutableTreeNode defaultmutabletreenode = new DefaultMutableTreeNode("Bar Charts");
        defaultmutabletreenode.add(createCategoryBarChartsNode());
        defaultmutabletreenode.add(createXYBarChartsNode());

⌨️ 快捷键说明

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