Controller.java文件中的Javafx 2.0操作方法Application.getParameters() [英] Javafx 2.0 How-to Application.getParameters() in a Controller.java file
本文介绍了Controller.java文件中的Javafx 2.0操作方法Application.getParameters()的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
考虑以下示例。
如何访问控制器中应用程序的参数/参数?
How to access to arguments/parameters of the application in the controller?
谢谢。
注意:我试图在一个类文件中混合App.java和MyController.java,但没有帮助。
App.java(简体):
public class App extends Application {
public static void main(String[] args) {
Application.launch(App.class, args);
}
@Override
public void start(Stage primaryStage) throws Exception {
// output arguments in console
System.out.println(getParameters().getNamed().toString());
Parent root = FXMLLoader.load(getClass().getResource("MyView.fxml"));
final Scene scene = new javafx.scene.Scene(root);
primaryStage.setScene(scene);
primaryStage.show();
}
}
MyController.java(简化):
public class MyController implements Initializable {
@Override
public void initialize(URL url, ResourceBundle rb) {
// HOW TO getParameters() HERE ?
}
@FXML
private Button myButton;
@FXML
private void my_Action(ActionEvent event) {
// HOW TO getParameters() HERE ?
}
}
MyView.fxml(简化):
<AnchorPane fx:id="root" fx:controller="mainpackage.MyController">
<children>
<Button fx:id="myButton" onAction="#my_Action" text="Start" />
</children>
</AnchorPane>
推荐答案
1。最直截了当方式 - 将它们保存在应用程序中:
1. Most straightforward way -- save them in app:
public class App extends Application {
public static void main(String[] args) { launch(); }
public static String parameters;
@Override
public void start(Stage primaryStage) throws Exception {
parameters = getParameters().getNamed().toString();
Parent root = FXMLLoader.load(getClass().getResource("MyView.fxml"));
final Scene scene = new javafx.scene.Scene(root);
primaryStage.setScene(scene);
primaryStage.show();
}
}
并在控制器中读取它们: / p>
and read them in controller:
public class MyController implements Initializable {
@Override
public void initialize(URL url, ResourceBundle rb) {
System.out.println(App.parameters);
}
2。更复杂(但总的来说更好) )方法在下一个主题中描述:
2. More complex (but better in general) approaches are described in next topics:
- 传递参数JavaFX FXML
- 带控制器的多个FXML,共享对象
- Passing Parameters JavaFX FXML
- Multiple FXML with Controllers, share object
这篇关于Controller.java文件中的Javafx 2.0操作方法Application.getParameters()的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文