private void updateAxis() { UnitSystem unitSystem = profileModel.getUnitSystem(); YAxisMode yAxisMode = profileModel.getYAxisMode(); String yAxisUnit = yAxisMode.equals(Elevation) ? unitSystem.getElevationName() : unitSystem.getSpeedName(); String yAxisKey = yAxisMode.equals(Elevation) ? "elevation-axis" : "speed-axis"; plot.getRangeAxis().setLabel(format(getBundle().getString(yAxisKey), yAxisUnit)); XAxisMode xAxisMode = profileModel.getXAxisMode(); String xAxisUnit = xAxisMode.equals(Distance) ? unitSystem.getDistanceName() : "s"; String xAxisKey = xAxisMode.equals(Distance) ? "distance-axis" : "time-axis"; plot.getDomainAxis().setLabel(format(getBundle().getString(xAxisKey), xAxisUnit)); chartPanel.setToolTipGenerator(new StandardXYToolTipGenerator( "{2} " + yAxisUnit + " @ {1} " + xAxisUnit, getIntegerInstance(), getIntegerInstance()) { public String generateLabelString(XYDataset dataset, int series, int item) { return super.generateLabelString(dataset, series, item).replaceAll("null", "?"); } }); }