---
title: 'JavaFX: Put a draggable, resizable polygon on an image'
url: 'https://tutego.de/blog/javainsel/2013/12/javafx-put-a-draggable-resizable-polygon-on-an-image'
markdown: 'https://tutego.de/blog/javainsel/2013/12/javafx-put-a-draggable-resizable-polygon-on-an-image.md'
date: '2013-12-05'
description: 'import java.util.concurrent.atomic.AtomicInteger; import javafx.application.Application; import javafx.beans.value.ChangeListener; import javafx.beans.value.ObservableValue; import javafx.event.EventHandler; import javafx.scene.Cursor; import javafx.scene.Scene; import javafx.scene.image.Image; im…'
taxonomy:
  category:
    - JavaFX
---

# JavaFX: Put a draggable, resizable polygon on an image

![Illustration einer tropischen Insel mit Palmen und einem hohen Berg](https://tutego.de/blog/javainsel/user/themes/tutego/images/insel-cover.jpg)# Java Blog für Programmierer

[Java Blog für Programmierer](https://tutego.de/blog/javainsel/)

## JavaFX: Put a draggable, resizable polygon on an image

05.12.2013 · [Christian Ullenboom](https://tutego.de/blog/javainsel/author/admin/)

 ```

import java.util.concurrent.atomic.AtomicInteger;
import javafx.application.Application;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.event.EventHandler;
import javafx.scene.Cursor;
import javafx.scene.Scene;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.Pane;
import javafx.scene.paint.Color;
import javafx.scene.shape.Circle;
import javafx.scene.shape.Polygon;
import javafx.stage.Stage;

class DrawingPane extends Pane
{
  public DrawingPane( Image image, Polygon poly )
  {
    poly.setFill( Color.web( "ANTIQUEWHITE", 0.8 ) );
    poly.setStroke( Color.web( "ANTIQUEWHITE" ) );
    poly.setStrokeWidth( 2 );

    getChildren().addAll( new ImageView( image ), poly );

    for ( int i = 0; i < poly.getPoints().size(); i += 2 ) {
      Circle circle = new Circle( poly.getPoints().get( i ), poly.getPoints().get( i + 1 ), 5 );
      circle.setFill( Color.web( "PERU", 0.8 ) );
      circle.setStroke( Color.PERU );
      circle.setStrokeWidth( 2 );

      AtomicInteger polyCoordinateIndex = new AtomicInteger( i );
      circle.centerXProperty().addListener( new ChangeListener() {
        @Override
        public void changed( ObservableValue
```

Kategorien: [JavaFX](https://tutego.de/blog/javainsel/category/javafx/)

[← Alle Beiträge](https://tutego.de/blog/javainsel/)

---

## Navigation

- Previous: [Touch Programmierung mit JavaFX](https://tutego.de/blog/javainsel/2013/12/touch-programmierung-mit-javafx.md)
- Next: [Weitere JavaOne 2013 Präsentationen online](https://tutego.de/blog/javainsel/2013/12/weitere-javaone-2013-prsentationen-online.md)
