在Oracle教程http://docs.oracle.com/javafx/2/get_started/fxml_tutorial.htm之后,我使用片段
创建FXML<?xml version="1.0" encoding="UTF-8"?>
<?language javascript?>
<?import java.lang.*?>
<?import java.util.*?>
<?import javafx.geometry.*?>
<?import javafx.scene.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.text.*?>
<GridPane alignment="CENTER" gridLinesVisible="true" hgap="10.0" vgap="10.0" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/2.2" fx:controller="fxmlexample.FXMLExampleController" styleClass="root" >
...other stuff...
<stylesheets>
<URL value="@Login.css" />
</stylesheets>
</GridPane>
NetBeans 8.0将网址设置为红色,并说:“类不存在:网址”。
编译并运行时,JRE 1.8也会抛出异常:
...
Caused by: java.lang.RuntimeException: Exception in Application start method
at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:894)
at com.sun.javafx.application.LauncherImpl.access$000(LauncherImpl.java:56)
at com.sun.javafx.application.LauncherImpl$1.run(LauncherImpl.java:158)
at java.lang.Thread.run(Thread.java:745)
Caused by: javafx.fxml.LoadException: URL is not a valid type.
file:/C:/Users/User1/Documents/NetBeansProjects/FXMLExample/dist/run1970052180/FXMLExample.jar!/fxmlexample/fxml_example.fxml:46
如果我在 JavaFX Scene Builder 1.1“中打开fxml_example.fxml文件,它还会抱怨缺少类型,其元素将不会显示:
Missing types are: [URL]
每个人似乎都在使用<URL/>
元素,为什么我不能?
答案 0 :(得分:20)
URL
是java.net
包中的一个类;你应该从FXML中导入 :
<?import java.net.*?>