2016-10-03 17 views
0

好了,這裏是我的Login.fxml文件中的腳本:我在這裏做錯了什麼?我又包在同一個項目叫做IMG並把PNG文件在那裏,但我得到這個錯誤

<?xml version="1.0" encoding="UTF-8"?> 

<?import javafx.scene.control.Button?> 
<?import javafx.scene.control.Label?> 
<?import javafx.scene.control.PasswordField?> 
<?import javafx.scene.control.TextField?> 
<?import javafx.scene.image.ImageView?> 
<?import javafx.scene.layout.AnchorPane?> 
<?import javafx.scene.text.Font?> 

<AnchorPane prefHeight="300.0" prefWidth="620.0"  xmlns="http://javafx.com/javafx/8.0.60" xmlns:fx="http://javafx.com/fxml/1"  fx:controller="application.MainController"> 
    <children> 
     <Button layoutX="94.0" layoutY="230.0" mnemonicParsing="false"  onAction="#Login" text="Login"> 
     <font> 
      <Font size="18.0" /> 
     </font> 
     </Button> 
     <TextField fx:id="txtUsername" layoutX="45.0" layoutY="78.0"  promptText="Username"> 
     <font> 
      <Font size="18.0" /> 
     </font> 
     </TextField> 
     <PasswordField fx:id="txtPassword" layoutX="45.0" layoutY="131.0"  promptText="Password"> 
     <font> 
      <Font size="18.0" /> 
     </font> 
     </PasswordField> 
     <Label fx:id="lblStatus" layoutX="21.0" layoutY="32.0" prefHeight="27.0"  prefWidth="263.0" text="Status" textFill="RED"> 
     <font> 
      <Font size="18.0" /> 
     </font> 
     </Label> 
     <ImageView fitHeight="263.0" fitWidth="318.0" layoutX="284.0"  layoutY="14.0" pickOnBounds="true" preserveRatio="true" ></ImageView> 
     <image> 
     <Image url = "img/Dantheman_outside.png"></Image> 
     </image> 
     </ImageView> 
    </children> 
</AnchorPane> 

而這裏的錯誤信息:

javafx.fxml.LoadException: 
/C:/Users/eene1/workspace/LoginFx/bin/application/Login.fxml:34 

at javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2601) 
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2579) 
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2441) 
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3214) 
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3175) 
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3148) 
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3124) 
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3104) 
at javafx.fxml.FXMLLoader.load(FXMLLoader.java:3097) 
at application._Main.start(_Main.java:15) 
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$162(LauncherImpl.java:863) 
at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$175(PlatformImpl.java:326) 
at com.sun.javafx.application.PlatformImpl.lambda$null$173(PlatformImpl.java:295) 
at java.security.AccessController.doPrivileged(Native Method) 
at com.sun.javafx.application.PlatformImpl.lambda$runLater$174(PlatformImpl.java:294) 
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95) 
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method) 
at com.sun.glass.ui.win.WinApplication.lambda$null$148(WinApplication.java:191) 
at java.lang.Thread.run(Unknown Source) 
Caused by: java.lang.UnsupportedOperationException: Cannot determine type for property. 
at com.sun.javafx.fxml.BeanAdapter.getSetterMethod(BeanAdapter.java:177) 
at com.sun.javafx.fxml.BeanAdapter.isReadOnly(BeanAdapter.java:305) 
at javafx.fxml.FXMLLoader$PropertyElement.<init>(FXMLLoader.java:1368) 
at javafx.fxml.FXMLLoader.createElement(FXMLLoader.java:2731) 
at javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2704) 
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2527) 
... 17 more 

我該如何解決這個問題?這真的很煩人,它沒有任何意義。提前致謝。我還必須輸入更多內容,以便讓我發佈這個問題。只是忽略這個額外的句子

+0

應該是你的'Image'元素另一個'Image'元素的內部? – nitind

+0

如果您的軟件包的名稱標識項目爲圖像的軟件包命名爲project.images,請嘗試重命名該軟件包 – MaglioniLorenzo

回答

1

你的FXML是錯誤的。您關閉<ImageView>元素在同一行中啓動它:

<ImageView fitHeight="263.0" ... ></ImageView> 

,因此以下<image>屬性元素是<ImageView>元素之外。 (解析器將查看<image>的直接父項,即錯誤地爲<children>。這指的是ObservableList,因此解析器試圖在ObservableList中找到setImage(...)方法;因爲它找不到一個方法,所以您將得到一個。錯誤)

假設的圖像的路徑是正確的(即Dantheman_outside.pngapplication.img包),只需去除外部</ImageView>應該解決這個問題:

<ImageView fitHeight="263.0" ... > 
    <image> 
    <Image url = "img/Dantheman_outside.png"></Image> 
    </image> 
</ImageView> 
相關問題