diff --git a/PlayWall/src/de/tobias/playpad/viewcontroller/pad/PadViewController.java b/PlayWall/src/de/tobias/playpad/viewcontroller/pad/PadViewController.java index e39abcda8c007b79c7a00ea961ba37d1f39a8b73..1f112d73fd2f853ef34bd99a3fe91cb7ed3d676e 100644 --- a/PlayWall/src/de/tobias/playpad/viewcontroller/pad/PadViewController.java +++ b/PlayWall/src/de/tobias/playpad/viewcontroller/pad/PadViewController.java @@ -54,6 +54,7 @@ public class PadViewController implements EventHandler<ActionEvent>, IPadViewCon private PadPositionListener padPositionListener; private PadDragListener padDragListener; + private transient PadSettingsViewController padSettingsViewController; public PadViewController() { view = new PadView(this); @@ -183,13 +184,15 @@ public class PadViewController implements EventHandler<ActionEvent>, IPadViewCon } Stage owner = mvc.getStage(); - PadSettingsViewController controller = new PadSettingsViewController(pad, owner); - controller.getStage().setOnHiding(ev -> - { - if (view != null && pad != null) - view.setTriggerLabelActive(pad.hasTriggerItems()); - }); - controller.getStage().show(); + if (padSettingsViewController == null) { + padSettingsViewController = new PadSettingsViewController(pad, owner); + padSettingsViewController.getStage().setOnHiding(ev -> + { + if (view != null && pad != null) + view.setTriggerLabelActive(pad.hasTriggerItems()); + }); + } + padSettingsViewController.getStage().show(); } } @@ -230,7 +233,7 @@ public class PadViewController implements EventHandler<ActionEvent>, IPadViewCon @Override public void setPad(Pad pad) { unconnectPad(); - + this.pad = pad; view.setPreviewContent(pad);