JFrame에서 전체 차트를 정렬하려고하지만 JChartPanels에서 정상적인 구성 요소 코드가 작동하지 않습니다. 처음에는 JChartPanel에서 setAligmentX와 Y를 시도했지만 작동하지 않았습니다. 그런 다음 JChartPanel을 JPanel에 추가 한 다음 setAlignment에 추가하려고 시도했지만 JPanel에 JChartPanel을 추가하면 그래프가 더 이상 표시되지 않습니다.jFreeChart 정렬 (setAlignmentX 및 Y?)
아래의 코드는 JFrame에서 기본 왼쪽 상단 위치에 그래프를 만듭니다. 그래프를 정렬 할 필요가 있습니다. 이후에 내 용도에 맞게 값을 변경하기 때문에 값을 사용하십시오.
위에서 언급 한 시도 (오류)의없이 포함 된 코드 :
import java.awt.*;
import javax.swing.*;
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.XYDataset;
import org.jfree.data.xy.XYSeries;
import org.jfree.data.xy.XYSeriesCollection;
public class ChartTest extends javax.swing.JFrame {
public ChartTest() {
XYSeries Goals = new XYSeries("Goals Scored");
Goals.add(1, 1.0);
Goals.add(2, 3.0);
Goals.add(3, 2.0);
Goals.add(4, 0.0);
Goals.add(5, 3.0);
XYDataset xyDataset = new XYSeriesCollection(Goals);
JFreeChart chart = ChartFactory.createXYLineChart("Goals Scored Over Time", "Fixture Number", "Goals", xyDataset, PlotOrientation.VERTICAL, true, true, false);
JPanel jPanel = new JPanel();
jPanel.setLayout(new BoxLayout(jPanel, BoxLayout.PAGE_AXIS));
jPanel.setVisible(true);
jPanel.setSize(300, 300);
ChartPanel CP = new ChartPanel(chart) {
@Override
public Dimension getPreferredSize() {
return new Dimension(300, 300);
}
};
CP.setMouseWheelEnabled(true);
add(CP);
setDefaultCloseOperation(EXIT_ON_CLOSE);
pack();
initComponents();
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new ChartTest().setVisible(true);
}
});
}
당신은 [예]를 들어, 바깥 쪽 패널의 레이아웃을 변경해야 할 수도 있습니다 (http://stackoverflow.com 여기에 참조 할 수 있도록 완벽한 동작하는 예제 양식입니다/a/5630271/230513). – trashgod
이해가 안됩니다. 'new FlowLayout (FlowLayout.RIGHT, 3,3)'을 사용하여 "부모"jPanel의 레이아웃을 변경 한 다음'jPanel.add (CP);를 사용하여 ChartPanel을 추가하면 결과는 그냥 빈 창이됩니다 ... – AppreciateTheHelp