@Override public void mouseReleased(MouseEvent e) { if (SwingUtilities.isLeftMouseButton(e)) { if (!isDragging) { Label label = renderer.getLabelAt(e.getX(), e.getY()); if (label == null) { if (selectedLabel == null) { ZonePoint zp = new ScreenPoint(e.getX(), e.getY()).convertToZone(renderer); label = new Label("", zp.x, zp.y); selectedLabel = label; } else { selectedLabel = null; renderer.repaint(); return; } } else { if (selectedNewLabel) { selectedLabel = label; renderer.repaint(); return; } } EditLabelDialog dialog = new EditLabelDialog(label); dialog.setVisible(true); if (!dialog.isAccepted()) { return; } renderer.getZone().putLabel(label); } if (selectedLabel != null) { MapTool.serverCommand().putLabel(renderer.getZone().getId(), selectedLabel); renderer.repaint(); } } isDragging = false; super.mouseReleased(e); }
private void close() { dialog.setVisible(false); }