2016-09-29 249 views
2

我無法將我的FXML文件登錄輸入到我的JavaFX應用程序中。JavaFX加載FXML

有人能告訴我我做錯了什麼嗎?

對於JavaFX來說,Swing非常新,所以如果它真的很差或不正確,那麼請原諒。

package application; 

import java.util.logging.Level; 
import java.util.logging.Logger; 

import javafx.application.Application; 
import javafx.fxml.FXMLLoader; 
import javafx.scene.Scene; 
import javafx.scene.layout.AnchorPane; 
import javafx.stage.Stage; 


public class Main extends Application { 

    public static void main(String[] args) { 
     launch(args); 
    } 

    @Override 
    public void start(Stage primaryStage) throws Exception { 
     try { 
      AnchorPane page = (AnchorPane) FXMLLoader.load(getClass().getResource("application/MainDisplay.fxml")); 
      Scene scene = new Scene(page); 
      primaryStage.setScene(scene); 
      primaryStage.setTitle("Welcome!"); 
      primaryStage.show(); 
     } 
     catch (Exception ex) { 
      Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex); 

     } 
    } 
} 

這裏是FXML文件

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

<?import javafx.scene.Cursor?> 
<?import javafx.scene.control.Button?> 
<?import javafx.scene.control.PasswordField?> 
<?import javafx.scene.control.TextField?> 
<?import javafx.scene.layout.AnchorPane?> 
<?import javafx.scene.text.Font?> 
<?import javafx.scene.text.Text?> 


<AnchorPane prefHeight="400.0" prefWidth="600.0"  xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/8.0.65"> 
    <children> 
     <Text layoutX="177.0" layoutY="137.0" strokeType="OUTSIDE"  strokeWidth="0.0" text="Welcome!" wrappingWidth="140.02001953125"> 
     <font> 
      <Font size="25.0" /> 
     </font> 
     <cursor> 
      <Cursor fx:constant="NONE" /> 
     </cursor> 
     </Text> 
     <Text layoutX="177.0" layoutY="179.0" strokeType="OUTSIDE"  strokeWidth="0.0" text="User Name:" wrappingWidth="85.9443359375" /> 
     <Text layoutX="177.0" layoutY="213.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Password:" /> 
     <Button layoutX="353.0" layoutY="242.0" mnemonicParsing="false" text="Sign In" /> 
     <TextField layoutX="263.0" layoutY="161.0" /> 
     <PasswordField layoutX="263.0" layoutY="195.0" /> 
    </children> 
</AnchorPane> 
+3

你面臨什麼困難? –

+0

它給出了一個錯誤。它不會加載xml文件並崩潰。 –

+1

在這種情況下,請張貼堆棧跟蹤和任何相關信息。我們在這裏爲您提供幫助,但您需要提供一些非常基本的信息。 –

回答

0

試試這個:

@Override 
    public void start(Stage primaryStage){ 
     try { 
      AnchorPane page = (AnchorPane) FXMLLoader.load(getClass().getResource("/application/MainDisplay.fxml")); 
      Scene scene = new Scene(page); 
      primaryStage.setScene(scene); 
      primaryStage.setTitle("Welcome!"); 
      primaryStage.show(); 
     } 
     catch (Exception e) { 
      e.printStackTrace(); 
     }