单击 JfreeChart 折线图按钮上的放大和缩小功能?
Zoom In and Zoom out functionality on a button click on JfreeChart line graph?
基本上我想要放大和缩小折线图(总共 4 个按钮,2 个用于 X 轴(放大和缩小),另外两个用于 Y 轴)沿任意轴单击按钮就像在负 x 轴和负 Y 轴区域上绘制的图形一样,取决于数据点,然后单击按钮时图形应该根据按钮单击沿着负 x 轴或负 Y 轴放大和缩小。
我怎样才能做到这一点?任何带有详细解释的示例代码都非常有帮助!!
private JButton createZoom()
{
final JButton auto = new JButton("ZOOMIN");
auto.setActionCommand("ZOOM_IN_DOMAIN");
auto.addActionListener(new ChartPanel(chart));
return auto;
}
每个按钮的 Action
implementation should invoke the corresponding method used by ChartPanel
to create it's popup menu of zoom commands. The implementation of actionPerformed()
is a convenient guide to the available zooming functionality. For example, the ZOOM_IN_DOMAIN_COMMAND
is handled by invoking zoomInDomain()
. Based on this example,典型的 Zoom X 相对于原点的处理程序如下所示:
private JButton createZoom() {
final JButton zoomX = new JButton(new AbstractAction("Zoom X") {
@Override
public void actionPerformed(ActionEvent e) {
chartPanel.zoomInDomain(0, 0);
}
});
return zoomX;
}
如果默认的zoomPoint
就足够了,你可以使用图表面板的实现:
private JButton createZoom() {
final JButton zoomX = new JButton("Zoom X");
zoomX.setActionCommand(ChartPanel.ZOOM_IN_DOMAIN_COMMAND);
zoomX.addActionListener(chartPanel);
return zoomX;
}
相比之下,原example中的createZoom()
方法展示了如何唤起[=13=]方法restoreAutoBounds()
,它恢复了两个轴上的自动范围计算.
基本上我想要放大和缩小折线图(总共 4 个按钮,2 个用于 X 轴(放大和缩小),另外两个用于 Y 轴)沿任意轴单击按钮就像在负 x 轴和负 Y 轴区域上绘制的图形一样,取决于数据点,然后单击按钮时图形应该根据按钮单击沿着负 x 轴或负 Y 轴放大和缩小。
我怎样才能做到这一点?任何带有详细解释的示例代码都非常有帮助!!
private JButton createZoom()
{
final JButton auto = new JButton("ZOOMIN");
auto.setActionCommand("ZOOM_IN_DOMAIN");
auto.addActionListener(new ChartPanel(chart));
return auto;
}
每个按钮的 Action
implementation should invoke the corresponding method used by ChartPanel
to create it's popup menu of zoom commands. The implementation of actionPerformed()
is a convenient guide to the available zooming functionality. For example, the ZOOM_IN_DOMAIN_COMMAND
is handled by invoking zoomInDomain()
. Based on this example,典型的 Zoom X 相对于原点的处理程序如下所示:
private JButton createZoom() {
final JButton zoomX = new JButton(new AbstractAction("Zoom X") {
@Override
public void actionPerformed(ActionEvent e) {
chartPanel.zoomInDomain(0, 0);
}
});
return zoomX;
}
如果默认的zoomPoint
就足够了,你可以使用图表面板的实现:
private JButton createZoom() {
final JButton zoomX = new JButton("Zoom X");
zoomX.setActionCommand(ChartPanel.ZOOM_IN_DOMAIN_COMMAND);
zoomX.addActionListener(chartPanel);
return zoomX;
}
相比之下,原example中的createZoom()
方法展示了如何唤起[=13=]方法restoreAutoBounds()
,它恢复了两个轴上的自动范围计算.