@@ -409,8 +409,8 @@ public void run() {
409409 }
410410
411411 startExceptionHandlerThread ();
412-
413412 setProcessingIcon (stage );
413+ addWindowListeners ();
414414 }
415415
416416
@@ -451,6 +451,46 @@ public void setTitle(String title) {
451451 }
452452
453453
454+ ChangeListener <Number > stagePositionListener = (observable , oldValue , newValue ) ->
455+ sketch .postWindowPosition ((int ) stage .getX (), (int ) stage .getY ());
456+
457+ ChangeListener <Number > stageResizeListener = (observable , oldValue , newValue ) ->
458+ sketch .postWindowResize ((int ) stage .getWidth (), (int ) stage .getHeight ());
459+
460+
461+ protected void addWindowListeners () {
462+ /*
463+ stage.xProperty().addListener(new ChangeListener<Number>() {
464+ @Override
465+ public void changed(ObservableValue<? extends Number> value,
466+ Number oldX, Number newX) {
467+ sketch.postWindowPosition(newX.intValue(), stage.yProperty().intValue());
468+ }
469+ });
470+
471+ stage.yProperty().addListener(new ChangeListener<Number>() {
472+ @Override
473+ public void changed(ObservableValue<? extends Number> value,
474+ Number oldY, Number newY) {
475+ sketch.postWindowPosition(stage.xProperty().intValue(), newY.intValue());
476+ }
477+ });
478+ */
479+
480+ stage .xProperty ().addListener (stagePositionListener );
481+ stage .yProperty ().addListener (stagePositionListener );
482+
483+ stage .widthProperty ().addListener (stageResizeListener );
484+ stage .heightProperty ().addListener (stageResizeListener );
485+
486+ stage .setOnCloseRequest (new EventHandler <WindowEvent >() {
487+ public void handle (WindowEvent we ) {
488+ sketch .exit ();
489+ }
490+ });
491+ }
492+
493+
454494 /** Show or hide the window. */
455495 @ Override
456496 public void setVisible (final boolean visible ) {
@@ -608,32 +648,6 @@ public void placePresent(int stopColor) {
608648 }
609649
610650
611- @ Override
612- public void setupExternalMessages () {
613- stage .xProperty ().addListener (new ChangeListener <Number >() {
614- @ Override
615- public void changed (ObservableValue <? extends Number > value ,
616- Number oldX , Number newX ) {
617- sketch .frameMoved (newX .intValue (), stage .yProperty ().intValue ());
618- }
619- });
620-
621- stage .yProperty ().addListener (new ChangeListener <Number >() {
622- @ Override
623- public void changed (ObservableValue <? extends Number > value ,
624- Number oldY , Number newY ) {
625- sketch .frameMoved (stage .xProperty ().intValue (), newY .intValue ());
626- }
627- });
628-
629- stage .setOnCloseRequest (new EventHandler <WindowEvent >() {
630- public void handle (WindowEvent we ) {
631- sketch .exit ();
632- }
633- });
634- }
635-
636-
637651 public void setLocation (int x , int y ) {
638652 stage .setX (x );
639653 stage .setY (y );
0 commit comments