我将甘特图(ChartPanel)放在JScrollPane中,并创建一个名为[zoom in]的按钮。
按钮[放大]的功能是:
单击[放大]按钮时,图表面板的宽度将加倍。
newSize = originalChartWidth * 2;
chartPanel.setPreferredSize(new java.awt.Dimension(newSize, 1000));
单击[放大]按钮后,将出现JScrollPane的滚动条 然后用户可以在放大后滚动以观看整个图表。
但是有一个问题,当我将图表面板宽度加倍时,任务标签字体也会被放大。
放大之前
放大后(字体会变形且难以阅读)
在我将图表面板宽度加倍后,有没有办法保留原始字体?
答案 0 :(得分:1)
如果没有完整的示例,这似乎是将ChartPanel
直接添加到JscrollPane
的工件。相反,使用SlidingGanttCategoryDataset
允许使用setFirstCategoryIndex()
来响应滚动条状态更改。 SlidingGanttDatasetDemo1
是一个完整的例子。
答案 1 :(得分:1)
我得到了解决问题的答案。
调用ChartPanel.setMinimumDrawWidth /具有较小值的高度和ChartPanel.setMaximumDrawWidth / Height,其值大于超过监视器的屏幕大小。然后,ChartPanel将被缩放而不会被扭曲。