Skip to content

Commit 68bb9fb

Browse files
committed
working on events for processing/processing4#53
1 parent 9b07dcc commit 68bb9fb

File tree

2 files changed

+43
-27
lines changed

2 files changed

+43
-27
lines changed

src/processing/javafx/PSurfaceFX.java

Lines changed: 41 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -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);

todo.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
X change the name of the subfolder from processing4-javafx to javafx
33
X the former didn't work at all
44
X had to manually modify the download .zip for the previous release
5+
X add handlers for window move and resize events
6+
X https://github.com/processing/processing4/issues/53
57

68

79
getting away from reliance on AWT

0 commit comments

Comments
 (0)