Ho inserito un grafico a torta in un pannello, ma ora come faccio a ridimensinarlo?
Classe per creare il mio grafico con metodi.codice:package grafici; import java.awt.EventQueue; import javax.swing.JFrame; import org.jfree.chart.ChartPanel; import org.jfree.chart.JFreeChart; import org.jfree.data.xy.XYDataset; import org.jfree.ui.RefineryUtilities; import java.awt.Panel; import java.awt.event.ContainerListener; import javax.swing.JPanel; import java.awt.Color; import java.awt.Container; import java.awt.FlowLayout; import javax.swing.border.MatteBorder; public class Provagrafici { private JFrame frame; /** * Launch the application. */ public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { Provagrafici window = new Provagrafici(); window.frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); } /** * Create the application. */ public Provagrafici() { initialize(); } /** * Initialize the contents of the frame. */ private void initialize() { frame = new JFrame(); frame.setBounds(100, 100, 450, 335); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.getContentPane().setLayout(null); JPanel panel = new JPanel(); FlowLayout flowLayout = (FlowLayout) panel.getLayout(); flowLayout.setVgap(0); flowLayout.setHgap(0); panel.setBackground(Color.GREEN); panel.setBounds(10, 11, 272, 247); frame.getContentPane().add(panel); GraficoTorta chartPanel = new GraficoTorta(); panel.add(chartPanel.createChartPanelMetodo()); JPanel panel_1 = new JPanel(); panel_1.setBounds(292, 51, 113, 117); panel_1.setBackground(Color.GREEN); frame.getContentPane().add(panel_1); GraficoTorta provaTorta = new GraficoTorta(); panel_1.add(provaTorta.createChartPanelMetodo()); } }
codice:package grafici; import javax.swing.JPanel; import org.jfree.chart.ChartFactory; import org.jfree.chart.ChartPanel; import org.jfree.chart.JFreeChart; import org.jfree.chart.labels.StandardPieSectionLabelGenerator; import org.jfree.chart.plot.PiePlot; import org.jfree.data.general.DefaultPieDataset; import org.jfree.data.general.PieDataset; public class GraficoTorta { public GraficoTorta() { super(); final PieDataset dataset = createDataset(); final JFreeChart chart = createChart(dataset); final ChartPanel chartPanel = new ChartPanel(chart); chartPanel.setPreferredSize(new java.awt.Dimension(50, 50)); // setContentPane(chartPanel); } public PieDataset createDataset() { final DefaultPieDataset dataset = new DefaultPieDataset(); dataset.setValue("Uno", new Double(43.2)); dataset.setValue("Due", new Double(10.0)); dataset.setValue("Tre", new Double(27.5)); dataset.setValue("Quattro", new Double(17.5)); dataset.setValue("Cinque", new Double(11.0)); dataset.setValue("Sei", new Double(19.4)); return dataset; } public JFreeChart createChart(final PieDataset dataset) { final JFreeChart chart = ChartFactory.createPieChart("Grafico a Torta", dataset, true, true, false); final PiePlot plot = (PiePlot) chart.getPlot(); plot.setInteriorGap(0.0); plot.setLabelGenerator(new StandardPieSectionLabelGenerator("{2} {0}={1}")); return chart; } public JPanel createChartPanelMetodo() { DefaultPieDataset pieDataset = new DefaultPieDataset(); pieDataset.setValue("one", 10); pieDataset.setValue("two", 20); pieDataset.setValue("three", 30); pieDataset.setValue("four", 40); pieDataset.setValue("five", 20); pieDataset.setValue("six", 10); JFreeChart chart = ChartFactory.createPieChart("3d pie chart", pieDataset, true, true, true); return new ChartPanel(chart); } }

Rispondi quotando