/** if a button is pressed ... */ public void actionPerformed(ActionEvent evt) { try { String acmd = evt.getActionCommand(); if (acmd.equals(ACTION_CMD_PRINT)) { this.chartPanel.createChartPrintJob(); } else if (acmd.equals(ACTION_CMD_SAVE_AS)) { this.chartPanel.doSaveAs(); } else if (acmd.equals(ACTION_CMD_ZOOM_IN)) { ChartRenderingInfo info = chartPanel.getChartRenderingInfo(); Rectangle2D rect = info.getChartArea(); chartPanel.setZoomInFactor(ZOOM_FACTOR); chartPanel.zoomInDomain(rect.getCenterX(), rect.getCenterY()); } else if (acmd.equals(ACTION_CMD_ZOOM_OUT)) { ChartRenderingInfo info = chartPanel.getChartRenderingInfo(); Rectangle2D rect = info.getChartArea(); chartPanel.setZoomOutFactor(1 / ZOOM_FACTOR); chartPanel.zoomOutDomain(rect.getCenterX(), rect.getCenterY()); } else if (acmd.equals(ACTION_CMD_ZOOM_TO_FIT)) { // X-axis (has no fixed borders) chartPanel.restoreAutoBounds(); } } catch (Exception e) { e.printStackTrace(); } }