private void handleValueChanged(String text) { int row = fieldTable.getEditingRow(); if (row < 0 || row >= attributeFields.size()) { return; } AttributeKey attr = getAttributeKey(row); FigureTableModel ftm = (FigureTableModel) fieldTable.getModel(); ROIFigure figure = ftm.getFigure(); if (attr.equals(MeasurementAttributes.TEXT)) { if (TextHolderFigure.class.isAssignableFrom(figure.getClass())) { ((TextHolderFigure) figure).setText(text); } } else if (attr.equals(MeasurementAttributes.FONT_SIZE)) { double d = parseDouble(text); figure.setAttribute(MeasurementAttributes.FONT_SIZE, d); figure.changed(); } else if (attr.equals(MeasurementAttributes.STROKE_WIDTH)) { double d = parseDouble(text); figure.setAttribute(MeasurementAttributes.STROKE_WIDTH, d); } else if (attr.equals(MeasurementAttributes.WIDTH)) { try { double d = parseDouble(text); setFigureDimension(figure, MeasurementAttributes.WIDTH, d); if (isScaleProportionally()) { setFigureDimension(figure, MeasurementAttributes.HEIGHT, d); } } catch (Exception e) { } } else if (attr.equals(MeasurementAttributes.HEIGHT)) { try { double d = parseDouble(text); setFigureDimension(figure, MeasurementAttributes.HEIGHT, d); if (isScaleProportionally()) { setFigureDimension(figure, MeasurementAttributes.WIDTH, d); } } catch (Exception e) { } } model.getDrawingView().repaint(); }