基本上我想要放大和缩小折线图(总共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
实现应该调用 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()
,该方法恢复两个轴上的自动范围计算。
关于java - 单击 JfreeChart 折线图按钮上的放大和缩小功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41335942/