JavaFX Scene Builder integration

This commit is contained in:
Alexander Lobas
2014-02-03 13:49:52 +04:00
parent 5e496d044c
commit ee800d47df
2 changed files with 9 additions and 1 deletions
Binary file not shown.
@@ -27,6 +27,7 @@ public class SceneBuilderImpl implements SceneBuilder {
private final JFXPanel myPanel = new JFXPanel();
private EditorController myEditorController;
private ChangeListener<Number> myListener;
private volatile boolean mySkipChanges;
public SceneBuilderImpl(URL url, EditorCallback editorCallback) {
myFileURL = url;
@@ -88,7 +89,9 @@ public class SceneBuilderImpl implements SceneBuilder {
myListener = new ChangeListener<Number>() {
@Override
public void changed(ObservableValue<? extends Number> observable, Number oldValue, Number newValue) {
myEditorCallback.saveChanges(myEditorController.getFxmlText());
if (!mySkipChanges) {
myEditorCallback.saveChanges(myEditorController.getFxmlText());
}
}
};
@@ -103,6 +106,8 @@ public class SceneBuilderImpl implements SceneBuilder {
}
private void loadFile() {
mySkipChanges = true;
try {
String fxmlText = FXOMDocument.readContentFromURL(myFileURL);
myEditorController.setFxmlTextAndLocation(fxmlText, myFileURL);
@@ -110,5 +115,8 @@ public class SceneBuilderImpl implements SceneBuilder {
catch (Throwable e) {
myEditorCallback.handleError(e);
}
finally {
mySkipChanges = false;
}
}
}