- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在寻找有关在 Swing 上下文中使用 FXML 的 JavaFX 2 的一些帮助。我使用 Scene Builder(版本:2.0-b10,变更集:48fc80a12d33)构建了一个场景,并试图将其简单地加载到 Java 1.7 下 Swing 中 JFrame 上的 JFXPanel 中。当我这样做时,我在第 16 行收到无效属性错误。这是第 16 行:<Label style="-fx-font-weight: bold;" text="Storage Overview Home" VBox.vgrow="NEVER">
这是整个场景:
<?xml version="1.0" encoding="UTF-8"?>
<?import java.lang.*?>
<?import javafx.geometry.*?>
<?import javafx.scene.chart.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.paint.*?>
<AnchorPane maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" minHeight="600.0" minWidth="800.0" prefHeight="768.0" prefWidth="1024.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1">
<children>
<BorderPane layoutX="54.0" layoutY="45.0" prefHeight="400.0" prefWidth="600.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
<left>
<VBox fx:id="" prefHeight="726.0" prefWidth="210.0" style="-fx-background-color: #dee8f6;">
<children>
<Label style="-fx-font-weight: bold;" text="Storage Overview Home" VBox.vgrow="NEVER">
<padding>
<Insets bottom="18.0" left="6.0" top="6.0" />
</padding>
</Label>
<ComboBox fx:id="ASPCombo" prefWidth="150.0" VBox.vgrow="NEVER" xmlns:fx="http://javafx.com/fxml">
<VBox.margin>
<Insets bottom="12.0" left="6.0" />
</VBox.margin>
</ComboBox>
<Label text="Job Information" VBox.vgrow="NEVER" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1">
<padding>
<Insets bottom="12.0" left="6.0" />
</padding>
</Label>
<Hyperlink fx:id="activeJobStatusLink" style="-fx-text-fill: #210B61;" text="Active Job Status" VBox.vgrow="NEVER" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1">
<VBox.margin>
<Insets left="12.0" />
</VBox.margin>
</Hyperlink>
<Hyperlink fx:id="jobMonitorThresholdLink" style="-fx-text-fill: #210B61;" text="Job Monitor Threshold History" VBox.vgrow="NEVER" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1">
<VBox.margin>
<Insets left="12.0" />
</VBox.margin>
</Hyperlink>
<Hyperlink fx:id="jobQtempThresholdLink" style="-fx-text-fill: #210B61;" text="Job QTEMP Threshold History" VBox.vgrow="NEVER" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1">
<VBox.margin>
<Insets left="12.0" />
</VBox.margin>
</Hyperlink>
<Hyperlink fx:id="jobSpooledFileThresholdLink" style="-fx-text-fill: #210B61;" text="Job Spooled File Threshold History" VBox.vgrow="NEVER" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1">
<VBox.margin>
<Insets left="12.0" />
</VBox.margin>
</Hyperlink>
<StackPane prefHeight="150.0" prefWidth="200.0" VBox.vgrow="ALWAYS" />
<Label text="See Also">
<padding>
<Insets bottom="6.0" left="12.0" />
</padding>
</Label>
<Hyperlink fx:id="collectionHistoryLink" style="-fx-text-fill: #210B61;" text="Collection History" VBox.vgrow="NEVER" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1">
<VBox.margin>
<Insets left="12.0" />
</VBox.margin>
</Hyperlink>
<Hyperlink fx:id="currentStorageLink" style="-fx-text-fill: #210B61;" text="Current Storage" VBox.vgrow="NEVER" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1">
<VBox.margin>
<Insets bottom="12.0" left="12.0" />
</VBox.margin>
</Hyperlink>
</children>
</VBox>
</left>
<top>
<ToolBar prefWidth="200.0" xmlns:fx="http://javafx.com/fxml">
<items>
<Button fx:id="btnRefresh" mnemonicParsing="false" text="Back" />
<HBox xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1">
<children>
<Pane HBox.hgrow="ALWAYS" />
</children>
</HBox>
<Button mnemonicParsing="false" text="Refresh" />
</items>
</ToolBar>
</top>
<center>
<VBox prefHeight="200.0" prefWidth="100.0" style="-fx-background-color: #FFFFFF;">
<children>
<VBox minHeight="-Infinity" prefHeight="136.0" prefWidth="766.0" VBox.vgrow="NEVER">
<children>
<Label fx:id="storageOverviewTitle" style="-fx-font-size: 18; -fx-text-fill: #0000FF;" text="Identify and Solve Disk Storage Problems" VBox.vgrow="NEVER">
<textFill>
<Color blue="1.0" />
</textFill>
</Label>
<TextArea fx:id="storageOverviewTextArea" editable="false" prefHeight="100.0" prefWidth="200.0" text="The Storage Overview helps you quickly identify and solve disk storage problems. Most surges in disk use are caused by active jobs. For example, a server communication job can devour a large amount of your unprotected storage space. And, these jobs can be hard to find. Use the ASP Threshold History and Job Temp Storage History buttons to display the ASPs and jobs that have exceeded their thresholds. Use the Active Jobs Status button to find and hold or end the job(s) causing a disk storage problem." wrapText="true" VBox.vgrow="NEVER" />
</children>
<VBox.margin>
<Insets bottom="24.0" left="24.0" right="24.0" top="24.0" />
</VBox.margin>
</VBox>
<HBox maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="177.0" prefWidth="814.0" VBox.vgrow="NEVER">
<children>
<PieChart fx:id="totalASPUtilizationPieChart" title="Total ASP Utilization" HBox.hgrow="NEVER" />
<PieChart fx:id="utilizationByLibraryPieChart" title="By Library" HBox.hgrow="NEVER" />
<PieChart fx:id="utilizationByIFSDirPieChart" title="By IFS Directory" HBox.hgrow="NEVER" />
</children>
</HBox>
<AreaChart fx:id="ASPUtilizationHistoryAreaChart" title="Utilization History - ASP 001" VBox.vgrow="ALWAYS">
<xAxis>
<CategoryAxis side="BOTTOM" />
</xAxis>
<yAxis>
<NumberAxis side="LEFT" />
</yAxis>
</AreaChart>
</children>
</VBox>
</center>
</BorderPane>
</children>
</AnchorPane>
我用来尝试显示场景图的代码是:
Platform.setImplicitExit(false);
Platform.runLater(new Runnable() {
@Override
public void run() {
Parent root;
try {
root = FXMLLoader.load(getClass().getResource("MyPanel.fxml"));
Scene scene = new Scene(root);
swingPanel.setScene(scene);
} catch (Exception ex){
//Log an error here...
}
}
});
我得到的错误是:
Invalid property.
/C:/HelpSys/space/trunk/gui/classes/com/helpsystems/space/gui/csi/MyPanel.fxml:16
at javafx.fxml.FXMLLoader$PropertyElement.<init>(FXMLLoader.java:1154)
at javafx.fxml.FXMLLoader.createElement(FXMLLoader.java:2338)
at javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2311)
at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2131)
at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2028)
at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2744)
at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2723)
at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2709)
at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2696)
at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2685)
at com.helpsystems.space.gui.csi.CSIWizzard$1.run(CSIWizzard.java:182)
at com.sun.javafx.application.PlatformImpl$4$1.run(PlatformImpl.java:179)
at com.sun.javafx.application.PlatformImpl$4$1.run(PlatformImpl.java:176)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.application.PlatformImpl$4.run(PlatformImpl.java:176)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.access$100(WinApplication.java:29)
at com.sun.glass.ui.win.WinApplication$3$1.run(WinApplication.java:73)
at java.lang.Thread.run(Unknown Source)
最佳答案
padding
属性不是 JavaFX 2.2 中 Label
中的有效属性。在 JavaFX 8 中,Label
继承自 Region
(通过 Control
),因此继承了 padding
属性。所以我怀疑 SceneBuilder 正在查看 JavaFX 8 以确定属性。
在 JavaFX 2.2 中有一个可以从 CSS 设置的 labelPadding
属性,所以使用
<Label style="-fx-font-weight: bold; -fx-label-padding: 6 0 18 6;" text="Storage Overview Home"
VBox.vgrow="NEVER">
</Label>
关于JavaFX FXMLLoader 无效属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21263169/
尝试从 FXML 文件加载 Controller 时出现 LoadException。这是 FXML 文件:
我有主要的应用程序类,可以很好地完成以下任务: @Override public void start(Stage primaryStage) { try {
在“Pro JavaFX 8:构建桌面、移动和嵌入式 Java 客户端的权威指南”的第 3 章中,一个示例说明了如何直接在 FXML 文件中指定对象。 您可以在本文末尾找到完整的 FXML 文件以及示
在“Pro JavaFX 8:构建桌面、移动和嵌入式 Java 客户端的权威指南”的第 3 章中,一个示例说明了如何直接在 FXML 文件中指定对象。 您可以在本文末尾找到完整的 FXML 文件以及示
在学习Javafx时,我已经学习了舞台、场景和场景图(树数据结构)(分支节点、叶节点)等...所以我知道场景图的基础知识,它必须包含根节点及其子节点,并且场景类采用根节点类型的参数,所以我的问题是当我
这是我的第一个问题,所以如果我出错了,请耐心等待,但我对 FXMLLoader 有一个奇怪的问题,我无法解释自己,所以任何提示或帮助将不胜感激。 以下代码片段是我如何将文件 GraphicSettin
我有一个由根布局组成的 javaFX 界面,它是一个简单的 BorderPane。当在 rootLayout 菜单上按下按钮时,我想将两个 AnchorPane 交替设置在 rootLayout 的中
我正在寻找有关在 Swing 上下文中使用 FXML 的 JavaFX 2 的一些帮助。我使用 Scene Builder(版本:2.0-b10,变更集:48fc80a12d33)构建了一个场景,并试
我正在尝试运行本教程: http://docs.oracle.com/javafx/2/fxml_get_started/custom_control.htm 我想在 Eclipse 上运行它。我从网
我在 fxml 文件的根级别有 ScrollPane,并且有以下代码: import javafx.scene.Parent; ... parent = (Parent)fxmlLoader.load
我有一个 JavaFx 项目,其中 Maven install 一直给我错误: [ERROR] Failed to execute goal org.apache.maven.plugins:mave
我正在尝试访问加载 fxml 的窗口的 Controller 类的实例。它加载时没有错误,但是当我尝试使用打印帐户数量时 System.out.println("from NAW: "+ NAC.ne
因此,我使用 JavaFX 的 Scene Builder 工具创建了一个 FXML 界面,并尝试通过我的代码加载它。但是,我在尝试加载 FXML 文档时遇到了此错误:FXMLLoader.load
我有一个用于整个应用程序的大型资源文件,因此如果我可以仅为整个 JavaFX 场景设置它,而不是每次执行 new FXMLLoader(...) 时,那就太好了。 有办法吗? 最佳答案 据我所知,没有
我正在尝试将 FXML 文件加载到我的 javafx 应用程序中作为我的根小部件,我使用带有 java 11.04 的 Windows 8.1 和带有 Eclipse 2019 IDE 的 javaf
我尝试加载 FXML 文件 MainView.fxml 就像在其他一些项目中所做的那样。但我得到“IllegalStateException:未设置位置。”但我很确定我传递了正确的位置。您还有其他想法
我们在场景构建器的帮助下创建了几个 JavaFX View 。它们的组件通过 FXMLLoader 注入(inject)到 Controller 类中,例如 TreeTableView。现在我想重写
我正在创建一个 ListView,能够双击每个项目并弹出一个窗口,其中包含由 FXML 文件构成的输入。 FXML 文件 itemStep 包含 fx:controller="controller.I
这个问题在这里已经有了答案: What is a NullPointerException, and how do I fix it? (12 个答案) 关闭 3 年前。 我是 java 和 mvc
我一直在为我的 JavaFX 学习做一个小应用程序。在应用程序中,我需要从主文件中单独获取 Controller ,所以我设计了这个: public class DiceObserver implem
我是一名优秀的程序员,十分优秀!