Java jfreechart图表面板自动调整大小显示所有缩放的图表
我创建了一个jfrechart作为第一张图片。用鼠标滚轮缩放后,显示为第二张图片。如何调整ChartPanel的大小,使其能够显示所有缩放的图表 我将ChartPanel放在一个JScrollPane中,并在mouseWheelMoved事件中更新了它的首选大小,如下所示。它没有像我预期的那样工作。它没有显示整个图表,轴的字体大小也被放大到了不合适的大小Java jfreechart图表面板自动调整大小显示所有缩放的图表,java,swing,zooming,jscrollpane,jfreechart,Java,Swing,Zooming,Jscrollpane,Jfreechart,我创建了一个jfrechart作为第一张图片。用鼠标滚轮缩放后,显示为第二张图片。如何调整ChartPanel的大小,使其能够显示所有缩放的图表 我将ChartPanel放在一个JScrollPane中,并在mouseWheelMoved事件中更新了它的首选大小,如下所示。它没有像我预期的那样工作。它没有显示整个图表,轴的字体大小也被放大到了不合适的大小 public void mouseWheelMoved(MouseWheelEvent e) { d
public void mouseWheelMoved(MouseWheelEvent e) {
double factor = _chartPanel.getZoomInFactor();
Dimension dim = _chartPanel.getPreferredSize();
dim.width =(int)( dim.width*(1.0+factor)+1);
_chartPanel.setDomainZoomable(false);
_chartPanel.setPreferredSize(dim);;
_chartPanel.revalidate();
_chartPanel.setDomainZoomable(true);
}
我不知道如何有效地混合缩放和滚动。没有一个
- 您可以使用
恢复原始缩放状态,如图所示restoreautobunds()
- 在前面提到的几种控制图表大小的方法中,基于上面提到的原因,重写
似乎是最好的方法getPreferredSize()