Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java applet打开多窗口jfree图表_Java_Jfreechart_Japplet - Fatal编程技术网

Java applet打开多窗口jfree图表

Java applet打开多窗口jfree图表,java,jfreechart,japplet,Java,Jfreechart,Japplet,我正在使用jfreechart创建一个三元图表,并将其作为小程序运行。 图表显示正确,但当我将其扩展到一个小程序类并覆盖绘制函数时,它会为图形打开5个不同的窗口,不知道为什么 这是代码,如果你能帮我的话 @Override public void paint(Graphics g) { DefaultXYDataset dataset = new DefaultXYDataset(); dataset.addSeries("Red circles"

我正在使用jfreechart创建一个三元图表,并将其作为小程序运行。 图表显示正确,但当我将其扩展到一个小程序类并覆盖绘制函数时,它会为图形打开5个不同的窗口,不知道为什么

这是代码,如果你能帮我的话

    @Override
    public void paint(Graphics g) {
        DefaultXYDataset dataset = new DefaultXYDataset();
        dataset.addSeries("Red circles",new double[][]{{0, 1, 0.5,0.1, 0.6, 0.2, 0}, {1, 0, 0.5, 0.2, 0.3, 0.6, 0}});   
        XYPlot plot = new TriangularXYPlot();
        plot.setDataset(dataset);
        XYItemRenderer renderer = plot.getRenderer();
        renderer.setSeriesPaint(0, Color.RED);
        renderer.setSeriesShape(0, new Ellipse2D.Double(-1, -1, 2, 2)); //point shape
        JFreeChart chart = new JFreeChart("Triangular Demo", new Font("Tahoma", 2, 18), plot, true);
        JFrame frame = new JFrame("XY Plot Demo");
        ChartPanel cPanel = new ChartPanel(chart);
        frame.getContentPane().add(cPanel);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        cPanel.setPreferredSize(new java.awt.Dimension(1000, 540));
        frame.pack();
        frame.setVisible(true);
        chart.draw( (Graphics2D)g,getBounds()); 
    }
我想澄清一下,当我在这里使用代码时: 我找到了一个正确的窗口

但当我补充说:

JFrame frame = new JFrame("XY Plot Demo");
    ChartPanel cPanel = new ChartPanel(chart);
    frame.getContentPane().add(cPanel);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    cPanel.setPreferredSize(new java.awt.Dimension(1000, 540));
    frame.pack();
    frame.setVisible(true);
我又多窗口了。如果我不使用这个,输出窗口就会变得非常小