jfreechart:甘特图任务标签字体大小

jfreechart: Gantt Chart Task Label Font Size

我将我的甘特图(ChartPanel)放在一个JScrollPane中,并创建一个名为[zoom in]的按钮。
[放大]按钮的功能是:
当我点击[放大]按钮时,图表面板的宽度会加倍。

newSize = originalChartWidth * 2;
chartPanel.setPreferredSize(new java.awt.Dimension(newSize, 1000)); 

点击[放大]按钮后,会出现JScrollPane的滚动条
然后用户可以在放大后滚动观看整个图表。

但是有一个问题,当我将图表面板的宽度加倍时,任务标签的字体也会变大。

放大前

放大后(字体会变形难看)

我将图表面板宽度加倍后,有什么办法可以保留原来的字体吗?

没有完整的示例,这似乎是将 ChartPanel 直接添加到 JscrollPane 的产物。相反,使用 SlidingGanttCategoryDataset which permits the use of setFirstCategoryIndex() in response to a scrollbar state change. SlidingGanttDatasetDemo1 是一个完整的示例。

我得到了解决我问题的答案。

使用小值调用 ChartPanel.setMinimumDrawWidth/Height,使用超过显示器屏幕尺寸的大值调用 ChartPanel.setMaximumDrawWidth/Height。然后,ChartPanel 将在不变形的情况下缩放。

请参考: How to aviod axis label and legend scaling