- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的应用程序有选项卡式 Pane ,因此为了保持 fxml 文件易于管理,我有一个包含选项卡的主 fxml 文件,以及每个其他选项卡的单独 fxml 文件。这工作正常,但由于某种原因,应用程序已停止加载第二个选项卡。我尝试在主应用程序中单独加载它,效果很好。我尝试创建一个新的 fxml 文件作为测试,然后加载它,这也有效。但是,它不会将其加载到第二个选项卡中。此外,控制台没有输出。
编辑:经过更多试验,我已将其范围缩小到分割 Pane 。我尝试了一个非常简单的带有按钮的 fxml,这很好,但是添加一个分割 Pane 和两个按钮,并且 View 不会呈现。
这是我的主要类(class):公共(public)类 Main 扩展应用程序 {
@Override
public void start(Stage primaryStage) {
Parent mainView;
try {
mainView = FXMLLoader.load(getClass().getResource("view/MainView.fxml"));
Scene scene = new Scene(mainView);
primaryStage.setTitle("Horse Show Manager");
primaryStage.setScene(scene);
primaryStage.show();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) {
launch(args);
}
}
这是我的 mainview.fxml
<?import javafx.geometry.*?>
<?import javafx.scene.control.*?>
<?import java.lang.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.layout.GridPane?>
<TabPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="800.0"
prefWidth="800.0" tabClosingPolicy="UNAVAILABLE" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/8">
<tabs>
<Tab text="Classes">
<fx:include source="GroupPane.fxml" fx:id="groupPaneContent" />
</Tab>
<Tab text="Riders">
<fx:include source="RiderPane.fxml" fx:id="riderPaneContent" />
</Tab>
</tabs>
</TabPane>
这是第一个 Pane
<?import javafx.collections.*?>
<?import javafx.geometry.*?>
<?import java.lang.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.collections.FXCollections?>
<SplitPane dividerPositions="0.4" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1"
fx:controller="application.view.GroupPaneController">
<items>
<TableView fx:id="table" editable="true" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0"
AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
<columnResizePolicy>
<TableView fx:constant="CONSTRAINED_RESIZE_POLICY" />
</columnResizePolicy>
<columns>
<TableColumn fx:id="groupNumberColumn" editable="false" prefWidth="40.0" text="Class Number" />
<TableColumn fx:id="groupNameColumn" editable="false" prefWidth="40.0" text="Class Name" />
</columns>
</TableView>
<GridPane alignment="CENTER">
<columnConstraints>
<ColumnConstraints hgrow="NEVER" />
<ColumnConstraints hgrow="ALWAYS" />
</columnConstraints>
<rowConstraints>
<RowConstraints minHeight="10.0" vgrow="NEVER" />
<RowConstraints vgrow="NEVER" />
<RowConstraints vgrow="NEVER" />
<RowConstraints vgrow="NEVER" />
<RowConstraints vgrow="NEVER" />
<RowConstraints vgrow="NEVER" />
<RowConstraints vgrow="ALWAYS" />
</rowConstraints>
<children>
<Label text="Number">
<GridPane.margin>
<Insets bottom="10.0" left="5.0" right="5.0" top="10.0" />
</GridPane.margin>
</Label>
<Label text="Extra Money" GridPane.rowIndex="4">
<GridPane.margin>
<Insets bottom="10.0" left="5.0" right="5.0" top="10.0" />
</GridPane.margin>
</Label>
<Label text="Fee" GridPane.rowIndex="3">
<GridPane.margin>
<Insets bottom="10.0" left="5.0" right="5.0" top="10.0" />
</GridPane.margin>
</Label>
<Label text="Gives Points" GridPane.rowIndex="5">
<GridPane.margin>
<Insets bottom="10.0" left="5.0" right="5.0" top="10.0" />
</GridPane.margin>
</Label>
<Label text="Name" GridPane.rowIndex="1">
<GridPane.margin>
<Insets bottom="10.0" left="5.0" right="5.0" top="10.0" />
</GridPane.margin>
</Label>
<Label text="Placing" GridPane.rowIndex="2">
<GridPane.margin>
<Insets bottom="10.0" left="5.0" right="5.0" top="10.0" />
</GridPane.margin>
</Label>
<HBox alignment="TOP_RIGHT" prefHeight="100.0" prefWidth="200.0" GridPane.columnIndex="1" GridPane.rowIndex="6">
<children>
<Button fx:id="addButton" mnemonicParsing="false" onAction="#groupAddOrEdit" text="Add">
<HBox.margin>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</HBox.margin>
</Button>
<Button fx:id="editButton" mnemonicParsing="false" onAction="#editing" text="Edit">
<HBox.margin>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</HBox.margin>
</Button>
<Button fx:id="deleteButton" mnemonicParsing="false" onAction= "#deleteGroup" text="Delete">
<HBox.margin>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</HBox.margin>
</Button>
</children>
</HBox>
<TextField fx:id="numberField" GridPane.columnIndex="1">
<GridPane.margin>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</GridPane.margin>
</TextField>
<TextField fx:id="nameField" GridPane.columnIndex="1" GridPane.rowIndex="1">
<GridPane.margin>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</GridPane.margin>
</TextField>
<TextField fx:id="feeField" GridPane.columnIndex="1" GridPane.rowIndex="3">
<GridPane.margin>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</GridPane.margin>
</TextField>
<TextField fx:id="extraMoneyField" GridPane.columnIndex="1" GridPane.rowIndex="4">
<GridPane.margin>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</GridPane.margin>
</TextField>
<ChoiceBox fx:id="givesPointsChoiceBox" maxWidth="1.7976931348623157E308" GridPane.columnIndex="1"
GridPane.hgrow="ALWAYS" GridPane.rowIndex="5">
<GridPane.margin>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</GridPane.margin>
<items>
<FXCollections fx:factory="observableArrayList">
<String fx:value="No" />
<String fx:value="Yes" />
</FXCollections>
</items>
<value>
<String fx:value="Yes" />
</value>
</ChoiceBox>
<ChoiceBox fx:id="gradingChoiceBox" maxWidth="1.7976931348623157E308" GridPane.columnIndex="1"
GridPane.rowIndex="2">
<GridPane.margin>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</GridPane.margin>
<items>
<FXCollections fx:factory="observableArrayList">
<String fx:value="Place" />
<String fx:value="Time" />
<String fx:value="Points" />
</FXCollections>
</items>
<value>
<String fx:value="Place" />
</value>
</ChoiceBox>
</children>
</GridPane>
</items>
</SplitPane>
第二个:
<?import javafx.geometry.*?>
<?import javafx.scene.control.*?>
<?import java.lang.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.layout.AnchorPane?>
<SplitPane dividerPositions="0.5" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1">
<items>
<VBox>
<children>
<TableView VBox.vgrow="ALWAYS">
<columns>
<TableColumn prefWidth="75.0" text="C1" />
<TableColumn prefWidth="75.0" text="C2" />
</columns>
<VBox.margin>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</VBox.margin>
</TableView>
<TableView VBox.vgrow="ALWAYS">
<columns>
<TableColumn prefWidth="75.0" text="C1" />
<TableColumn prefWidth="75.0" text="C2" />
</columns>
<VBox.margin>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</VBox.margin>
</TableView>
</children>
</VBox>
<GridPane>
<columnConstraints>
<ColumnConstraints />
<ColumnConstraints hgrow="NEVER" minWidth="0.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="0.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints minHeight="0.0" vgrow="NEVER" />
<RowConstraints minHeight="0.0" vgrow="NEVER" />
<RowConstraints minHeight="0.0" vgrow="NEVER" />
<RowConstraints minHeight="0.0" vgrow="NEVER" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="NEVER" />
<RowConstraints minHeight="0.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="0.0" vgrow="NEVER" />
<RowConstraints minHeight="0.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="0.0" vgrow="NEVER" />
</rowConstraints>
<children>
<Label text="Number" GridPane.columnIndex="1">
<GridPane.margin>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</GridPane.margin>
</Label>
<Label text="Name" GridPane.columnIndex="1" GridPane.rowIndex="1">
<GridPane.margin>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</GridPane.margin>
</Label>
<Label text="Fee" GridPane.columnIndex="1" GridPane.rowIndex="2">
<GridPane.margin>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</GridPane.margin>
</Label>
<Label text="Membership" GridPane.columnIndex="1" GridPane.rowIndex="3">
<GridPane.margin>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</GridPane.margin>
</Label>
<TextField GridPane.columnIndex="2">
<GridPane.margin>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</GridPane.margin>
</TextField>
<TextField GridPane.columnIndex="2" GridPane.rowIndex="1">
<GridPane.margin>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</GridPane.margin>
</TextField>
<VBox GridPane.columnIndex="2" GridPane.rowIndex="3">
<children>
<RadioButton mnemonicParsing="false" text="Current Member">
<VBox.margin>
<Insets left="5.0" right="5.0" top="5.0" />
</VBox.margin>
<toggleGroup>
<ToggleGroup fx:id="membershipGroup" />
</toggleGroup>
</RadioButton>
<RadioButton mnemonicParsing="false" text="Single Membership" toggleGroup="$membershipGroup">
<VBox.margin>
<Insets left="5.0" right="5.0" top="5.0" />
</VBox.margin>
</RadioButton>
<RadioButton mnemonicParsing="false" text="Family Membership" toggleGroup="$membershipGroup">
<VBox.margin>
<Insets left="5.0" right="5.0" top="5.0" />
</VBox.margin>
</RadioButton>
<RadioButton mnemonicParsing="false" text="Non-member" toggleGroup="$membershipGroup">
<VBox.margin>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</VBox.margin>
</RadioButton>
</children>
</VBox>
<TableView prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="1" GridPane.columnSpan="2147483647" GridPane.rowIndex="5">
<columns>
<TableColumn editable="false" maxWidth="1.7976931348623157E308" minWidth="-Infinity" prefWidth="187.0" text="Horses" />
</columns>
<GridPane.margin>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</GridPane.margin>
</TableView>
<TableView prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="1" GridPane.columnSpan="2147483647" GridPane.rowIndex="7">
<columns>
<TableColumn prefWidth="75.0" text="Class Number" />
<TableColumn prefWidth="75.0" text="Class Name" />
</columns>
<GridPane.margin>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</GridPane.margin>
</TableView>
<HBox GridPane.columnIndex="1" GridPane.columnSpan="2147483647" GridPane.rowIndex="6">
<children>
<TextField HBox.hgrow="ALWAYS">
<HBox.margin>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</HBox.margin>
</TextField>
<Button mnemonicParsing="false" text="Button">
<HBox.margin>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</HBox.margin>
</Button>
</children>
</HBox>
<HBox alignment="CENTER" GridPane.columnIndex="1" GridPane.columnSpan="2147483647" GridPane.rowIndex="8" GridPane.valignment="CENTER">
<children>
<Button alignment="CENTER" mnemonicParsing="false" text="Button" HBox.hgrow="ALWAYS">
<HBox.margin>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</HBox.margin>
</Button>
<Button alignment="CENTER" mnemonicParsing="false" text="Button" HBox.hgrow="ALWAYS">
<HBox.margin>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</HBox.margin>
</Button>
</children>
</HBox>
<HBox prefHeight="100.0" prefWidth="200.0" GridPane.columnIndex="1" GridPane.columnSpan="2147483647" GridPane.rowIndex="4">
<children>
<TextField HBox.hgrow="ALWAYS">
<HBox.margin>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</HBox.margin>
</TextField>
<Button mnemonicParsing="false" text="Add Horse">
<HBox.margin>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</HBox.margin>
</Button>
</children>
</HBox>
<TextField GridPane.columnIndex="2" GridPane.rowIndex="2">
<GridPane.margin>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</GridPane.margin>
</TextField>
</children>
</GridPane>
</items>
</SplitPane>
抱歉代码太长,提前感谢您的帮助!
最佳答案
我认为回答我自己的问题可能是不好的形式......但解决方案是使用 fx:define 和 fx:include 标签定义两个选项卡。然后就可以加载fxml内容了。下面的例子。
<TabPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="800.0"
prefWidth="800.0" tabClosingPolicy="UNAVAILABLE" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1">
<fx:define>
<fx:include fx:id="groupPaneContent" source="GroupPane.fxml" />
<fx:include fx:id="riderPaneContent" source="RiderPane.fxml" />
</fx:define>
<tabs>
<Tab closable="false" text="Classes" content="$groupPaneContent" />
<Tab closable="false" text="Riders" content="$riderPaneContent" />
</tabs>
</TabPane>
编辑: FXML 最初无法正确呈现。我必须手动调整应用程序的大小才能显示出来。如果您知道如何解决此问题,请发表评论
关于JavaFX 主 fxml 未加载 fxml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24357092/
我听说过两种数据库架构。 大师级 主从 master-master不是更适合现在的web吗,因为它就像Git一样,每个单元都有整套数据,如果一个宕机也无所谓。 主从让我想起了 SVN(我不喜欢它),你
我们当前将 MySQL 配置为支持故障转移:Site1 Site2。当它们被设置为主/主时。在给定时间点,应用程序服务器仅主动写入一个站点。我们想要设置一个新的故障转移站点。然后我们将拥有 Site
我听说过两种数据库架构。 大师-大师 主从 master-master 不是更适合当今的网络吗,因为它就像 Git,每个单元都有整套数据,如果其中一个发生故障,也没关系。 主从让我想起 SVN(我不喜
我正在创建一个标记为类别的表,其中主类别(父列)包含 0,子类别包含父类别的 ID。我听说这叫引用。我的问题:这张表的结构正确吗?或者是否有更好的方法,例如实现遍历树或类似方法? CREATE TAB
我正在阅读一份关于 C++ 与 C 的文档。该文档说与 C 相比,C++ 编写得非常紧凑。一个例子是,C 允许 main() 函数类型为 void。另一方面,C++ 不允许这样做,他给出了标准中的以下
C main函数和Java main函数有什么区别? int main( int argc, const char* argv[] ) 对比 public static void main(Strin
我一直摸不着头脑,但运气不好。设计器有一个包含 3 栏的站点、两个侧边栏和一个主要内容区域。 专为桌面设计,左栏、主要内容、右栏。但是,在较小的设备上,我们希望首先堆叠主要内容。 所以通常情况下,你可
我一直在阅读有关 Jenkins 主/从配置的信息,但我仍然有一些问题: 是不是真的没有像 Jenkins 主站那样安装和启动从站 Jenkins?我假设我会以相同的方式安装一个主 Jenkins 和
据我了解,Viemodel中MVVM背后的概念包括业务逻辑和/或诸如暴露于 View 的数据的主/明细关系之类的事物 因此,正如我发现的那样,有很多ORM生成器,例如模型的telerik a.o以及另
我们有一个群集,其中包含3个主分区,每个主分区有2个副本。主/副本分片的总文档数相同;但是,对于同一查询/文档,我们得到3个不同的分数。当我们将preference = primary添加为查询参数时
我有一个非常大/旧/长时间运行的项目,它使用相对于启动目录的路径访问文件资源(即应用程序仅在从特定目录启动时才工作)。当我需要调试程序时,我可以从 eclipse 启动它并使用“运行配置”->->“工
谁能向我解释一下为什么我在这段代码上遇到段错误?我一直试图弄清楚这一点,但在各种搜索中却一无所获。当我运行代码而不调用 main(argc, argv) 时,它会运行。 Slave 仅将 argv 中
使用 xcode 中的默认项目作为主从应用程序,如果我在折叠委托(delegate)中放置 print 调试语句,当我旋转设备时它似乎永远不会被触发(事实上我永远无法触发它)。 我编辑的代码位于 Ap
是否有任何产品可以使 mysql 主/从故障转移过程更容易?一些可以自动发生的事情,而不是手动修复它。 最佳答案 [...稍后...;) 你所说的“更容易”是什么?MySQL 有很多解决方案: MyS
我有两个 mysql 数据库。我想做主/主复制。 复制以一种方式进行。然而,反过来说却不然。该错误表明它无法与用户“test@IPADDRESS”连接。 如何将用户名更改为 repl?从未进行过测试,
我正在尝试在 MySQL 中运行以下查询: GRANT REPLICATION SLAVE ON *.* TO 'replication'@’10.141.2.%’ IDENTIFIED BY ‘sl
我正在尝试使用 Android 提供的主/详细流程模板创建一个应用程序,并且我正在尝试将多个操作栏菜单项添加到操作栏的主要部分和详细信息部分。这就是我要实现的目标: (来源:softwarecrew.
我正在寻找一个跨平台的 C++ master/worker 库或工作队列库。一般的想法是我的应用程序将创建某种任务或工作对象,将它们传递给工作主机或工作队列,这将依次在单独的线程或进程中执行工作。为了
我似乎看到很多人在他们的 MySQL 模式中任意分配大尺寸的主/外键字段,例如 INT(11) 甚至 WordPress 使用的 BIGINT(20)。 如果我错了,请纠正我,但即使是 INT(4)
如果我有一个可以与多个键相关联的用户,正确的表设置应该是: 一个表有两列,例如: UserName | Key 没有主键且用户可以有多行,或者: 具有匹配标识符的两个表 Table 1 Us
我是一名优秀的程序员,十分优秀!