7
我試圖從FXML reference運行下面的示例:的JavaScript腳本
這個例子在於,宣佈在JavaScript腳本中的字符串變量,並與運營商$
以後使用它在FXML顯示標籤中的字符串。
問題是,當我用Java 8u40運行這個例子時,Label是空的而不是顯示聲明的String。
JavaFxComponent.java:
public class JavaFxComponent extends VBox {
public JavaFxComponent() throws Exception {
FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("/JavaFxComponent.fxml"));
fxmlLoader.setRoot(this);
fxmlLoader.load();
}
}
JavaFxComponent.fxml:
<?xml version="1.0" encoding="UTF-8"?>
<?language javascript?>
<?import javafx.scene.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<fx:root type="javafx.scene.layout.VBox" xmlns="http://javafx.com/javafx/8"
xmlns:fx="http://javafx.com/fxml">
<fx:script>
var myText = "This is the text of my label.";
</fx:script>
<Label text="$myText" />
</fx:root>
JavaFxTest:
public class JavaFxTest extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
primaryStage.setScene(new Scene(new JavaFxComponent()));
primaryStage.show();
}
public static final void main(String[] args) {
launch(args);
}
}
感謝您的回答,我可以使用第二種方法作爲解決方法。 –