JavaFX加载FXML
问题描述:
我无法将我的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>
答
试试这个:
@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();
}
你面临什么困难? –
它给出了一个错误。它不会加载xml文件并崩溃。 –
在这种情况下,请张贴堆栈跟踪和任何相关信息。我们在这里为您提供帮助,但您需要提供一些非常基本的信息。 –