>Java >java지도 시간 >JPanel 내에서 JFreeChart의 크기를 어떻게 사용자 정의할 수 있습니까?

JPanel 내에서 JFreeChart의 크기를 어떻게 사용자 정의할 수 있습니까?

DDD
DDD원래의
2024-12-14 08:40:12817검색

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

JPanel에 대한 JFreeChart 크기 사용자 정의

JPanel에서 JFreeChart의 기본 크기가 항상 최적이 아닐 수도 있습니다. 크기를 맞춤설정하는 방법은 다음과 같습니다.

1. 생성자에서 기본 크기 지정:

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

2. setPreferredSize()

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

호출 3. getPreferredSize() 재정의

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

4. 컨테이너 레이아웃 선택

JPanel의 FlowLayout은 크기 조정에 적합하지 않은 반면, JFrame의 BorderLayout은 동적 크기 조정을 허용합니다.

5. 다른 방법

  • setMaximumDrawHeight() 및 setMaximumDrawWidth()는 차트의 그리기 가능 영역을 제한합니다.
  • setZoomOutFactor()는 차트를 요인.

예:

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);

위 내용은 JPanel 내에서 JFreeChart의 크기를 어떻게 사용자 정의할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.