gpt4 book ai didi

Java&JFreeChart - 如何设置 JFreeChart 的 ChartPanel 随其容器(例如 JPanel )调整大小?

转载 作者:行者123 更新时间:2023-12-02 00:09:09 25 4
gpt4 key购买 nike

我刚刚发现,当我将 ChartPanel 添加到 JFrame 时,当 JFrame 拖动更大或更小时,ChartPanel 将调整大小以适应框架。但是,当我将 ChartPanel 添加到 JPanel 时,JPanel 的大小(宽度和高度)会随着 JFrame 大小的调整而更改以适应 JFrame。但 ChartPanel 只是保留了它的尺寸,为放大的 JPanel 留下了很多空白空间。如何使 ChartPanel 在 GUI 中随其容器调整大小?

这是我的示例代码:

  1. 在本例中,图表使用 JFrame 调整大小
ChartPanel chartPanel = new ChartPanel(createWhateverChart());
JFrame frame = new JFrame();
frame.add(chartPanel);
  1. 在这种情况下,我首先将 ChartPanel 添加到 JPanel,以便于管理和更新图表,但 ChartPanel 不会随 JPanel/JFrame 调整大小。
ChartPanel chartPanel = new ChartPanel(createWhateverChart());
JPanel panel = new JPanel("Who cares");
panel.add(chartPanel, BorderLayout.CENTER);
JFrame frame = new JFrame();
frame.add(panel);

最佳答案

尝试我的代码,它工作正常。

请注意:

我有一个框架,其中包含一个 panelMain,一个 panelMain 包含一个 subPanel,一个 subPanel 包含 ChartPanel。

frame.setLayout(new BoxLayout(frame.getContentPane(), BoxLayout.Y_AXIS));                      
JPanel panelMain = new JPanel(new GridLayout(0,2));
ChartPanel chartPanel = createChart();
JPanel subPanel = new JPanel(new BorderLayout());
subPanel.setBorder(BorderFactory.createTitledBorder("Consommation"));
subPanel.setPreferredSize(new Dimension(400, 200));
subPanel.add(chartPanel);


panelMain.add(subPanel);
frame.add(panelMain);
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);

现在当您调整窗口应用程序的大小时。您的图表面板将自动调整大小。希望这会有所帮助。

关于Java&JFreeChart - 如何设置 JFreeChart 的 ChartPanel 随其容器(例如 JPanel )调整大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13229097/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com