基本上我想要放大折线图并放大(总共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;
}
答案 0 :(得分:4)
每个按钮的Action
实现应调用ChartPanel
使用的相应方法来创建缩放命令的弹出菜单。 actionPerformed()
的实现是可用缩放功能的便捷指南。例如,ZOOM_IN_DOMAIN_COMMAND
是通过调用zoomInDomain()
来处理的。基于此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()
方法显示了如何唤起ChartPanel
方法restoreAutoBounds()
,这会恢复两个轴上的自动范围计算。< / p>