Heim >Java >javaLernprogramm >Wie kann ich die Größe von JFreeChart in einem JPanel anpassen?

Wie kann ich die Größe von JFreeChart in einem JPanel anpassen?

DDD
DDDOriginal
2024-12-14 08:40:12819Durchsuche

How Can I Customize JFreeChart's Size within a JPanel?

Anpassen der JFreeChart-Größe für ein JPanel

In einem JPanel ist die Standardgröße von JFreeChart möglicherweise nicht immer optimal. So können Sie die Größe anpassen:

1. Geben Sie die bevorzugte Größe im Konstruktor an:

JPanel graph = new JPanel(new GridLayout());
graph.add(new ChartPanel(chart, 500, 300));

2. Rufen Sie setPreferredSize()

ChartPanel cp = new ChartPanel(chart);
cp.setPreferredSize(new Dimension(500, 300));

3 auf. Überschreiben Sie getPreferredSize()

@Override
public Dimension getPreferredSize() {
    return new Dimension(w, h);
}

4. Wählen Sie Container-Layout

FlowLayout von JPanel ist nicht ideal für die Größenänderung, während BorderLayout in JFrame eine dynamische Größenänderung ermöglicht.

5. Andere Methoden

  • setMaximumDrawHeight() und setMaximumDrawWidth() begrenzen den Zeichenbereich des Diagramms.
  • setZoomOutFactor() verkleinert das Diagramm um a Faktor.

Beispiel:

public void generateChart() {
    DefaultCategoryDataset dataset = new DefaultCategoryDataset();

    //set the values of the chart
    for(int i=0; i<8; i++)
    {
        dataset.setValue(income_array[i], "Income",
            Double.toString(percent_array[i]));
    }

    JFreeChart chart = ChartFactory.createBarChart(
        "Required Annual Income for a Variety of Interest Rates",
        "Percent", "Income", dataset, PlotOrientation.VERTICAL,
        false,true, false);
    ChartPanel cp = new ChartPanel(chart, 500, 300);

    chart.setBackgroundPaint(Color.white);

Das obige ist der detaillierte Inhalt vonWie kann ich die Größe von JFreeChart in einem JPanel anpassen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn