public int showDialog(JChart chart) { JOptionPane optionPane = new JOptionPane( optionPanel, JOptionPane.QUESTION_MESSAGE, JOptionPane.OK_CANCEL_OPTION, null, null, null); optionPane.setBorder(new EmptyBorder(12, 12, 12, 12)); Axis xAxis = chart.getXAxis(); Axis yAxis = chart.getYAxis(); if (canLogXAxis) { logXAxis.setSelected(xAxis instanceof LogAxis); } if (canLogYAxis) { logYAxis.setSelected(yAxis instanceof LogAxis); } if (!manualXAxis.isSelected()) { minXValue.setValue(xAxis.getMinAxis()); maxXValue.setValue(xAxis.getMaxAxis()); } if (!manualYAxis.isSelected()) { minYValue.setValue(yAxis.getMinAxis()); maxYValue.setValue(yAxis.getMaxAxis()); } final JDialog dialog = optionPane.createDialog(frame, "Setup Chart"); dialog.pack(); dialog.setVisible(true); final Integer value = (Integer) optionPane.getValue(); final int result = (value != null && value != -1) ? value : JOptionPane.CANCEL_OPTION; if (result == JOptionPane.OK_OPTION) { applySettings(chart); } return result; }
public void applySettings(JChart chart) { Axis xAxis = chart.getXAxis(); Axis yAxis = chart.getYAxis(); if (canLogXAxis) { if (logXAxis.isSelected()) { xAxis = new LogAxis(); } else { xAxis = new LinearAxis(); } chart.setXAxis(xAxis); } if (manualXAxis.isSelected()) { xAxis.setManualRange(minXValue.getValue(), maxXValue.getValue()); xAxis.setAxisFlags(Axis.AT_VALUE, Axis.AT_VALUE); } else { xAxis.setAxisFlags(defaultMinXAxisFlag, defaultMaxXAxisFlag); } if (canLogYAxis) { if (logYAxis.isSelected()) { yAxis = new LogAxis(); } else { yAxis = new LinearAxis(); } chart.setYAxis(yAxis); } if (manualYAxis.isSelected()) { yAxis.setManualRange(minYValue.getValue(), maxYValue.getValue()); yAxis.setAxisFlags(Axis.AT_VALUE, Axis.AT_VALUE); } else { yAxis.setAxisFlags(defaultMinYAxisFlag, defaultMaxYAxisFlag); } }