Javafx 为什么BorderPane不显示任何内容
我创建了一个移动应用程序,现在我要让代码更简单、更精确。我想将其中一个页面从大量集群切换到边界窗格,因为这将使我的代码更干净。出于某种原因,当我注释工作代码以使用边框窗格时,我的标签和其他所有内容都不会显示。我觉得好像这是一件我看不到的小事 我试过制造一个场景,设置左动作Javafx 为什么BorderPane不显示任何内容,javafx,gluon,borderpane,Javafx,Gluon,Borderpane,我创建了一个移动应用程序,现在我要让代码更简单、更精确。我想将其中一个页面从大量集群切换到边界窗格,因为这将使我的代码更干净。出于某种原因,当我注释工作代码以使用边框窗格时,我的标签和其他所有内容都不会显示。我觉得好像这是一件我看不到的小事 我试过制造一个场景,设置左动作 public BookNow(){ BorderPane bookClub = new BorderPane(); Vbox labels = new VBox(); Label city = new Labels("Cit
public BookNow(){
BorderPane bookClub = new BorderPane();
Vbox labels = new VBox();
Label city = new Labels("City: ");
Label venue= new Labels("Venue: ");
Label date = new Labels("Date: ");
Label appArrivalTime = new Labels("Approxiamte Time of Arrival: ");
labels.getChildren().addAll(city, venue, date, appArrivalTime);
bookClub.setLeft(labels);
}
它应该只显示边框窗格左侧的标签。已更新
在哪里插入边框窗格
元素?您必须将组件插入到调用到主FXML阶段的场景
实例中,然后使用所有元素初始化边框窗格
。此外,将代码信息写入FXML文件比写入Java类更清晰:
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.layout.BorderPane?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.layout.VBox?>
<BorderPane xmlns:fx="http://javafx.com/fxml/1">
<left>
<VBox>
<Label>City: </Label>
<Label>Venue: </Label>
<Label>Date: </Label>
<Label>Approximate Time of Arrival: </Label>
</VBox>
</left>
</BorderPane>
它是否回答了您的问题?如果这是与边框窗格
相关的所有代码,您永远不会将其添加到场景或场景的父部分。否则,没有足够的信息来诊断问题;请提供一个演示该问题的例子。BorderPane是否仅在场景中工作?如果是,您如何将其与Gluon mobile pluginI一起使用?我不熟悉Gluon mobile。如果有某种抽象隐藏了场景的使用
,请使用它。无论是哪种情况,您都需要将边框窗格
添加到某些内容中;你的代码片段所做的就是创建它,然后扔掉它。Gluon似乎为他们的产品提供了一些可能被证明是有用的东西。你对Mike,kleopatra有什么答案吗?参加几年这样的活动——你将了解为什么规则是这样的,以及为什么教育新手遵守规则很重要;)我以前没有使用过fxml,所以我不熟悉BorderPane是否需要场景才能工作?我正在为移动应用程序使用Glion插件是的,你需要用Java声明它,我已经更新了答案。
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Scene;
import javafx.stage.Stage;
public class Main extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
Scene scene = new Scene(FXMLLoader.load(getClass().getResource("/package/path/to/the/fxml/file/view.fxml")));
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String... args) {
launch(args);
}
}