Java JFreeChart:在Zoom()之后添加代码-防止记号标签消失
我创建了一个应用程序,使用JFreeChart制作一个XYLineChart(除其他外),但最近在JFreeChart中遇到了一个错误,即如果图表的x或y轴设置为非常小的范围(低值或x或y轴值之间的最小差异),图表将像往常一样绘制,但上述轴上的所有刻度标签将消失。如果用户将图表放大太远,也会发生这种情况 我在应用程序的UI中添加了一个按钮,允许用户在制作或放大图表后刷新轴,从而解决了这个问题。此按钮的动作侦听器将重新设置记号标签,然后它们将正确显示在轴上 现在,我希望这是自动完成,而不是使用我的按钮。为此,我需要将此代码放置在图表面板创建中的某个位置,在ChartPanel.zoom()方法完成执行后立即执行 我的问题是,当用户放大图表时,zoom()代码执行完毕后会发生什么?控制下一步去哪里?或者,是否有一种方法可以在每次执行zoom()方法后添加几行要执行的代码Java JFreeChart:在Zoom()之后添加代码-防止记号标签消失,java,jfreechart,Java,Jfreechart,我创建了一个应用程序,使用JFreeChart制作一个XYLineChart(除其他外),但最近在JFreeChart中遇到了一个错误,即如果图表的x或y轴设置为非常小的范围(低值或x或y轴值之间的最小差异),图表将像往常一样绘制,但上述轴上的所有刻度标签将消失。如果用户将图表放大太远,也会发生这种情况 我在应用程序的UI中添加了一个按钮,允许用户在制作或放大图表后刷新轴,从而解决了这个问题。此按钮的动作侦听器将重新设置记号标签,然后它们将正确显示在轴上 现在,我希望这是自动完成,而不是使用我的
如果有人有任何建议,请尽快告诉我。谢谢。我已经通过向
绘图对象添加绘图更改侦听器来处理缩放事件。这将在各种事件之后调用,其中之一是缩放。例如:
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()?