Rumah > Java > javaTutorial > Bagaimanakah Saya Boleh Menyesuaikan Saiz JFreeChart dalam JPanel?

Bagaimanakah Saya Boleh Menyesuaikan Saiz JFreeChart dalam JPanel?

DDD
Lepaskan: 2024-12-14 08:40:12
asal
816 orang telah melayarinya

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

Menyesuaikan Saiz JFreeChart untuk JPanel

Dalam JPanel, saiz lalai JFreeChart mungkin tidak sentiasa optimum. Begini cara anda boleh menyesuaikan saiz:

1. Nyatakan Saiz Pilihan dalam Pembina:

JPanel graph = new JPanel(new GridLayout());
graph.add(new ChartPanel(chart, 500, 300));
Salin selepas log masuk

2. Ajak setPreferredSize()

ChartPanel cp = new ChartPanel(chart);
cp.setPreferredSize(new Dimension(500, 300));
Salin selepas log masuk

3. Gantikan getPreferredSize()

@Override
public Dimension getPreferredSize() {
    return new Dimension(w, h);
}
Salin selepas log masuk

4. Pilih Reka Letak Bekas

FlowLayout JPanel tidak sesuai untuk mengubah saiz, manakala BorderLayout dalam JFrame membenarkan saiz semula dinamik.

5. Kaedah Lain

  • setMaximumDrawHeight() dan setMaximumDrawWidth() mengehadkan kawasan boleh lukis carta.
  • setZoomOutFactor() mengecilkan carta dengan faktor.

Contoh:

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);
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyesuaikan Saiz JFreeChart dalam JPanel?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan