java - जेनेटबेल का उपयोग करते हुए जेटबब्दपैन को चार्टपैनेल जोड़ना



charts jfreechart (1)

मैं JFreeChart को JFreeChart को जोड़ना चाहता हूं और फिर JFreeChart को JFreeChart को जोड़ना चाहता हूं। मैंने JFrame पर JFreeChart को प्रदर्शित करने में कामयाब रहा, लेकिन मैं JFreeChart के चौथे टैब के रूप में JFreeChart को जोड़ना चाहता हूं।

चार्ट को प्रदर्शित करने के लिए कोड:

public class Chart extends javax.swing.JPanel {

  private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

        JPanel jPanel1 = new JPanel();
        DefaultCategoryDataset dataset = new DefaultCategoryDataset();
        dataset.setValue(60, "Marks", "Student 1");
        dataset.setValue(40, "Marks", "Student 2");
        dataset.setValue(90, "Marks", "Student 3");
        dataset.setValue(50, "Marks", "Student 4");
        dataset.setValue(70, "Marks", "Student 5");
        dataset.setValue(30, "Marks", "Student 6");

        JFreeChart chart = ChartFactory.createBarChart(
            "Student Marks", "Student Name", "Marks", dataset,
            PlotOrientation.VERTICAL, false, true, false);
        CategoryPlot p = chart.getCategoryPlot();
        p.setRangeGridlinePaint(Color.BLACK);
        ChartPanel panel = new ChartPanel(chart);
        panel.setDomainZoomable(true);
        jPanel1.add(panel, BorderLayout.CENTER);
        panel.setPreferredSize(new java.awt.Dimension(500, 270));

  }

TabbedPane में जोड़ने के लिए कोड:

tabStoreTrans.add("chart", new Chart());

टैब्ड पैन का उपयोग कैसे करें में दिखाया गया है, आप एक टैबबेड फलक में घटकों को जोड़ सकते हैं। ChartPanel एक उप-वर्ग, ChartPanel , एक ऐसा घटक है इन उदाहरणों के अलावा, आप अन्य विशेषताओं के साथ प्रयोग करने के लिए नीचे दिए गए उदाहरण का उपयोग कर सकते हैं

जैसा कि आप नए हैं, NetBeans GUI संपादक का उपयोग कर सीमित करें, आपके प्रश्न में निहित है, लेकिन नेटबींस आईडीई का उपयोग करना जारी रखें

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.EventQueue;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;
import javax.swing.AbstractAction;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
import javax.swing.Timer;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.xy.XYSeries;
import org.jfree.data.xy.XYSeriesCollection;

/**
 * @see https://.com/a/15715096/230513
 * @see https://.com/a/11949899/230513
 */
public class TabChart {

    private static final int N = 128;
    private static final Random random = new Random();
    private int n = 1;

    private void display() {
        JFrame f = new JFrame("TabChart");
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        final JTabbedPane jtp = new JTabbedPane();
        jtp.add(String.valueOf(n), createPane());
        f.add(jtp, BorderLayout.CENTER);
        JPanel p = new JPanel(new FlowLayout(FlowLayout.RIGHT));
        p.add(new JButton(new AbstractAction("Add") {
            @Override
            public void actionPerformed(ActionEvent e) {
                jtp.add(String.valueOf(++n), createPane());
                jtp.setSelectedIndex(n - 1);
            }
        }));
        f.add(p, BorderLayout.SOUTH);
        f.pack();
        f.setLocationRelativeTo(null);
        f.setVisible(true);
    }

    private ChartPanel createPane() {
        final XYSeries series = new XYSeries("Data");
        for (int i = 0; i < random.nextInt(N) + N / 2; i++) {
            series.add(i, random.nextGaussian());
        }
        XYSeriesCollection dataset = new XYSeriesCollection(series);
        new Timer(1000, new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                series.add(series.getItemCount(), random.nextGaussian());
            }
        }).start();
        JFreeChart chart = ChartFactory.createXYLineChart("Test", "Domain",
            "Range", dataset, PlotOrientation.VERTICAL, false, false, false);
        return new ChartPanel(chart) {
            @Override
            public Dimension getPreferredSize() {
                return new Dimension(480, 240);
            }
        };
    }

    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            @Override
            public void run() {
                new TabChart().display();
            }
        });
    }
}