@@ -397,21 +397,22 @@ public class DecoratorController {
|
|||||||
node.getProperties().put(PROPERTY_DIALOG_CLOSE_HANDLER, handler);
|
node.getProperties().put(PROPERTY_DIALOG_CLOSE_HANDLER, handler);
|
||||||
node.addEventHandler(DialogCloseEvent.CLOSE, handler);
|
node.addEventHandler(DialogCloseEvent.CLOSE, handler);
|
||||||
|
|
||||||
if (node instanceof DialogAware) {
|
if (dialog.isVisible()) {
|
||||||
DialogAware dialogAware = (DialogAware) node;
|
dialog.requestFocus();
|
||||||
if (dialog.isVisible()) {
|
if (node instanceof DialogAware)
|
||||||
dialogAware.onDialogShown();
|
((DialogAware) node).onDialogShown();
|
||||||
} else {
|
} else {
|
||||||
dialog.visibleProperty().addListener(new ChangeListener<Boolean>() {
|
dialog.visibleProperty().addListener(new ChangeListener<Boolean>() {
|
||||||
@Override
|
@Override
|
||||||
public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) {
|
public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) {
|
||||||
if (newValue) {
|
if (newValue) {
|
||||||
dialogAware.onDialogShown();
|
dialog.requestFocus();
|
||||||
observable.removeListener(this);
|
if (node instanceof DialogAware)
|
||||||
}
|
((DialogAware) node).onDialogShown();
|
||||||
|
observable.removeListener(this);
|
||||||
}
|
}
|
||||||
});
|
}
|
||||||
}
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user