将JavaFX标签(仅使用Java/JavaFX代码)添加到使用Scenebuilder/FXML创建的现有GUI中 我仅使用Scenebuilder FXML技术创建了一个完整的GUI
大概是这样的:-将JavaFX标签(仅使用Java/JavaFX代码)添加到使用Scenebuilder/FXML创建的现有GUI中 我仅使用Scenebuilder FXML技术创建了一个完整的GUI,javafx,label,fxml,scenebuilder,Javafx,Label,Fxml,Scenebuilder,大概是这样的:- public class Main extends Application { public static void main(String[] args) { launch(args); } @Override public void start(Stage primaryStage) throws Exception{ Parent root=FXMLLoader.load(getClass().getReso
public class Main extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) throws Exception{
Parent root=FXMLLoader.load(getClass().getResource("backupmenu.fxml"));
primaryStage.setTitle("Backup Affected Files And Folders Only");
primaryStage.setScene(new Scene( root, 800, 400));
primaryStage.show();
}
}
然而,我想向相同的现有GUI添加一个标签,但这次只使用Java代码/JavaFX标签技术
即使用传统方法,如以下示例:-
// launch the application
public void start(Stage s)
{
// set title for the stage
s.setTitle("creating label");
// create a label
Label b = new Label("This is a label");
// create a Stack pane
StackPane rootpane = new StackPane();
// add password field
rootpane.getChildren().add(b);
// create a scene
Scene sc = new Scene(rootpane, 200, 200);
// set the scene
s.setScene(sc);
s.show();
}
public static void main(String args[])
{
// launch the application
launch(args);
}
}
我找不到一个网络搜索结果,甚至无法与我的非常具体的问题相匹配。
我可以结合这两种技术吗?可能吗?是的,这是可能的
您需要对要在控制器类中添加标签的父级(某种容器窗格
或节点
)的引用
例如,假设您的FXML定义了一个id为“root”的VBox
:
然后,您可以将任何需要的内容添加到VBox
:
@FXML
private VBox root;
root.getChildren().add(new Label("Hi, I'm a new Label!"));
是的,这是可能的
您需要对要在控制器类中添加标签的父级(某种容器窗格
或节点
)的引用
例如,假设您的FXML定义了一个id为“root”的VBox
:
然后,您可以将任何需要的内容添加到VBox
:
@FXML
private VBox root;
root.getChildren().add(new Label("Hi, I'm a new Label!"));
FXML文件的可能副本可以“翻译”为java指令以创建场景。您可以从fxml执行的所有操作也可以在java代码中完成。很难看出您希望如何准确地修改场景,但通常使用fxml可以从控制器完成。fxml文件的可能副本可以“翻译”为java指令以创建场景。您可以从fxml执行的所有操作也可以在java代码中完成。很难看出您到底想如何修改场景,但通常使用fxml是从控制器完成的。谢谢Zephyr-这非常有效,是一个很好的答案,上面的Slaw建议了另一种可能的方法,在做出最终选择之前,我需要探索,非常感谢您对我(和其他人)的输入IssueseThank You Zephyr-这很好地解决了问题,这是一个很好的答案,上面的Slaw建议了另一种可能的方法,在做出最终选择之前,我需要探索一下,非常感谢您对我(和其他人)问题的意见