Java JFreeChart:在Zoom()之后添加代码-防止记号标签消失

Java JFreeChart:在Zoom()之后添加代码-防止记号标签消失,java,jfreechart,Java,Jfreechart,我创建了一个应用程序,使用JFreeChart制作一个XYLineChart(除其他外),但最近在JFreeChart中遇到了一个错误,即如果图表的x或y轴设置为非常小的范围(低值或x或y轴值之间的最小差异),图表将像往常一样绘制,但上述轴上的所有刻度标签将消失。如果用户将图表放大太远,也会发生这种情况 我在应用程序的UI中添加了一个按钮,允许用户在制作或放大图表后刷新轴,从而解决了这个问题。此按钮的动作侦听器将重新设置记号标签,然后它们将正确显示在轴上 现在,我希望这是自动完成,而不是使用我的

我创建了一个应用程序,使用JFreeChart制作一个XYLineChart(除其他外),但最近在JFreeChart中遇到了一个错误,即如果图表的x或y轴设置为非常小的范围(低值或x或y轴值之间的最小差异),图表将像往常一样绘制,但上述轴上的所有刻度标签将消失。如果用户将图表放大太远,也会发生这种情况

我在应用程序的UI中添加了一个按钮,允许用户在制作或放大图表后刷新轴,从而解决了这个问题。此按钮的动作侦听器将重新设置记号标签,然后它们将正确显示在轴上

现在,我希望这是自动完成,而不是使用我的按钮。为此,我需要将此代码放置在图表面板创建中的某个位置,在ChartPanel.zoom()方法完成执行后立即执行

我的问题是,当用户放大图表时,zoom()代码执行完毕后会发生什么?控制下一步去哪里?或者,是否有一种方法可以在每次执行zoom()方法后添加几行要执行的代码


如果有人有任何建议,请尽快告诉我。谢谢。

我已经通过向
绘图对象添加
绘图更改侦听器来处理缩放事件。这将在各种事件之后调用,其中之一是缩放。例如:

chart.getPlot().addChangeListener(new PlotChangeListener(){
  @Override
  public void plotChanged(PlotChangeEvent event)
  {
    System.out.println("I am called after a zoom event (and some other events too).");
  }});

有什么建议吗??我正在寻找放置代码的位置,以便在图表面板放大后执行?哪个方法控制此操作:zoom()或zoomInBoth()?