public void insertString(int offs, String str, AttributeSet a) throws BadLocationException { // create a buffer with a simulated insert StringBuilder buffer = new StringBuilder(getText(0, getLength())); buffer.insert(offs, str); // test if buffer would be valid if (isValidNumberString(buffer.toString())) { super.insertString(offs, str, a); } else throw new BadLocationException("Bad double: " + buffer + " at:" + offs, offs); }
private void selectByDistance() { double distance = this.distance.getDouble(); if (distance >= 0) { int selectedRowCount = RouteConverter.getInstance().selectPositionsWithinDistanceToPredecessor(distance); labelSelection.setText(MessageFormat.format(RouteConverter.getBundle().getString("delete-select-by-distance-result"), selectedRowCount, distance)); savePreferences(); } }
distance = new DoubleDocument(r.getSelectByDistancePreference()); textFieldDistance.setDocument(distance); order = new IntegerDocument(r.getSelectByOrderPreference()); textFieldOrder.setDocument(order); threshold = new DoubleDocument(r.getSelectBySignificancePreference()); textFieldSignificance.setDocument(threshold);
private void selectBySignificance() { double threshold = this.threshold.getDouble(); if (threshold >= 0) { int selectedRowCount = RouteConverter.getInstance().selectInsignificantPositions(threshold); labelSelection.setText(MessageFormat.format(RouteConverter.getBundle().getString("delete-select-by-significance-result"), selectedRowCount, threshold)); savePreferences(); } }
public void remove(int offs, int len) throws BadLocationException { // create a buffer with a simulated delete String content = getText(0, getLength()); StringBuilder buffer = new StringBuilder(); buffer.append(content, 0, offs); buffer.append(content.substring(offs + len)); // test if buffer would be valid if (isValidNumberString(buffer.toString())) { super.remove(offs, len); } else throw new BadLocationException("Bad double:", offs); } }