- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这段代码有效,但现在我遇到了麻烦。我认为这就是问题所在,但我不知道:
Caused by: javafx.fxml.LoadException:
/C:/Users/alex/workspace/FXMLExample/bin/application/login.fxml:10
我不知道/理解这些代码有什么问题。主要只是运行场景。» Main.java
package application;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.stage.Stage;
import javafx.scene.Parent;
import javafx.scene.Scene;
public class Main extends Application {
Parent root;
@Override
public void start(Stage stage) throws Exception {
root = FXMLLoader.load(getClass().getResource("login.fxml"));
Scene scene = new Scene(root, 800, 600);
stage.setTitle("Login system");
stage.setScene(scene);
stage.show();
}
public static void main(String[] args) {
launch(args);
}
}
»login.fxml,我认为这就是问题所在
<?xml version="1.0" encoding="UTF-8"?>
<?import java.net.*?>
<?import javafx.geometry.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.text.*?>
<GridPane xmlns:fx="http://javafx.com/fxml" fx:controller="fxmlexample.Buton"
alignment="center" hgap="10" vgap="10" styleClass="root">
<padding>
<Insets top="25" right="25" bottom="10" left="25" />
</padding>
<Text fx:id="bunvenit" text="Bun venit!" GridPane.columnIndex="0"
GridPane.rowIndex="0" />
<Text fx:id="text" text="Logheaza-te folosind datele tale personale:"
GridPane.columnIndex="0" GridPane.rowIndex="1" GridPane.columnSpan="2" />
<Label text="Username:" GridPane.columnIndex="0"
GridPane.rowIndex="2" />
<TextField fx:id="username" GridPane.columnIndex="1"
GridPane.rowIndex="2" />
<Label text="Parola:" GridPane.columnIndex="0" GridPane.rowIndex="3" />
<PasswordField fx:id="parola" GridPane.columnIndex="1"
GridPane.rowIndex="3" />
<HBox spacing="10" alignment="bottom_right" GridPane.columnIndex="1"
GridPane.rowIndex="5">
<Button text="Logheaza-te" onAction="#loginButton" />
</HBox>
<Text fx:id="eroare" GridPane.columnIndex="1" GridPane.rowIndex="7" />
<Button text="Am uitat parola" GridPane.columnIndex="0"
GridPane.rowIndex="8" onAction="#passwordButton" />
<Button text="Creeaza un cont nou" GridPane.columnIndex="1"
GridPane.rowIndex="8" onAction="#createAccountButton" />
<stylesheets>
<URL value="@application.css" />
</stylesheets>
</GridPane>
»Buton.java,所有按钮操作
package fxmlexample;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.scene.Node;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.Alert;
import javafx.scene.control.Alert.AlertType;
import javafx.scene.control.ButtonType;
import javafx.scene.control.PasswordField;
import javafx.scene.control.TextField;
import javafx.scene.text.Text;
import javafx.stage.Stage;
public abstract class Buton {
private static final int SCENE_HEIGHT = 600;
private static final int SCENE_WIDTH = 800;
@FXML
private Text eroare;
@FXML
private TextField username;
@FXML
private PasswordField parola;
@FXML
private Parent root;
/* loginButton */
@FXML
protected void loginButton(ActionEvent event) throws IOException {
boolean gasit = false;
try (BufferedReader buf = new BufferedReader(new FileReader("data//in//users.txt"))) {
String linie;
gasit = false;
while ((linie = buf.readLine()) != null) {
String part[] = linie.split(" ");
if (username.getText().equals(part[0]) && parola.getText().equals(part[1])) {
gasit = true;
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
if (gasit) {
Parent root = FXMLLoader.load(getClass().getResource("../application/logged.fxml"));
Scene scene = new Scene(root, SCENE_WIDTH, SCENE_HEIGHT);
Stage stage = (Stage) ((Node) event.getSource()).getScene().getWindow();
stage.setScene(scene);
stage.setTitle("Felicitari, te-ai logat cu succes!");
stage.show();
} else {
eroare.setText("Username sau parola incorecta!");
}
}
}
» 错误:
Exception in Application start method
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(Unknown Source)
at com.sun.javafx.application.LauncherImpl.launchApplication(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at sun.launcher.LauncherHelper$FXHelper.main(Unknown Source)
Caused by: java.lang.RuntimeException: Exception in Application start method
at com.sun.javafx.application.LauncherImpl.launchApplication1(Unknown Source)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$156(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: javafx.fxml.LoadException:
/C:/Users/alex/workspace/FXMLExample/bin/application/login.fxml:10
at javafx.fxml.FXMLLoader.constructLoadException(Unknown Source)
at javafx.fxml.FXMLLoader.access$700(Unknown Source)
at javafx.fxml.FXMLLoader$ValueElement.processAttribute(Unknown Source)
at javafx.fxml.FXMLLoader$InstanceDeclarationElement.processAttribute(Unknown Source)
at javafx.fxml.FXMLLoader$Element.processStartElement(Unknown Source)
at javafx.fxml.FXMLLoader$ValueElement.processStartElement(Unknown Source)
at javafx.fxml.FXMLLoader.processStartElement(Unknown Source)
at javafx.fxml.FXMLLoader.loadImpl(Unknown Source)
at javafx.fxml.FXMLLoader.loadImpl(Unknown Source)
at javafx.fxml.FXMLLoader.loadImpl(Unknown Source)
at javafx.fxml.FXMLLoader.loadImpl(Unknown Source)
at javafx.fxml.FXMLLoader.loadImpl(Unknown Source)
at javafx.fxml.FXMLLoader.loadImpl(Unknown Source)
at javafx.fxml.FXMLLoader.loadImpl(Unknown Source)
at javafx.fxml.FXMLLoader.load(Unknown Source)
at application.Main.start(Main.java:15)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$163(Unknown Source)
at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$176(Unknown Source)
at com.sun.javafx.application.PlatformImpl.lambda$null$174(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$175(Unknown Source)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(Unknown Source)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$null$149(Unknown Source)
... 1 more
Caused by: java.lang.InstantiationException
at sun.reflect.InstantiationExceptionConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at sun.reflect.misc.ReflectUtil.newInstance(Unknown Source)
... 23 more
Exception running application application.Main
最佳答案
它清楚地表明:
java.lang.InstantiationException
at sun.reflect.InstantiationExceptionConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
它只是无法实例化您的抽象 Buton
类。使其具体化。
关于java - 由 : javafx. fxml.LoadException 错误引起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34660512/
我的主 UI 是在 FXML 文件中定义的,并且应该包含人员列表。一个人会显示一张图片和一些不同的只读文本行(姓名、年龄等......)该列表本身在整个运行时会不断变化。 (增删改查) 我知道可以创建
正如标题所述,构建表并将所有内容添加到表的初始化方法与 FXMLLoader 之间存在一定的冲突,FXMLLoader 应该为弹出窗口加载 FXML。 我的代码: 主要: import javafx.
我正在创建丰富的 UI 应用程序,我在 FXML 中使用 FXML,每个部分都有单独的 Controller 。我决定关注this教程并使用我的 fxml 作为组件。所以我使用类作为 Controll
你好, 我有以下问题。 是否可以创建一个主 fxml 文件并放置/包含另一个应该具有用户定义属性的 fxml 文件。 例如,我有:main.fxml 和一个fan_object.fxml 然后将 3
我正在尝试制作一个具有用于制作新项目的对话框的应用程序。我已经对其进行了编程,但想要清理文件结构,因此我将对话框及其 Controller 的 fxml 移至它们自己的包中。该对话框的文件位于名为 n
你好, 我有以下问题。 是否可以创建一个主 fxml 文件并放置/包含另一个应该具有用户定义属性的 fxml 文件。 例如,我有:main.fxml 和一个fan_object.fxml 然后将 3
我的应用程序有选项卡式 Pane ,因此为了保持 fxml 文件易于管理,我有一个包含选项卡的主 fxml 文件,以及每个其他选项卡的单独 fxml 文件。这工作正常,但由于某种原因,应用程序已停止加
如果状态为“1”,我想加载另一个 FXML 文件。但在下面的代码中,它不会从初始化加载另一个 FXML。如果我使用按钮,那么此代码可以工作,但我想在没有任何按钮的情况下执行此操作。谁能帮我提个建议吗?
我是 JavaFX 的新手,我想知道是否有办法将一个 fxml 文件放在 child.fxml 中,例如 parent.fxml。 为什么我需要这个? 想法是,我想创建独立的屏幕(小屏幕)并编写一个父
我的程序有一个主要的 FXML 文档,其中包含 TabPane .对于每个选项卡,我希望它有自己的 Controller 和 fxml 文件。当我尝试将外部 fmxl 文件包含到主 fxml 文档中时
我有一个用 fxml 编写的边框 Pane ,它的左 Pane 和中央 Pane 具有可互换的布局。 边框 fxml:
在上面的 fxml 中,我有许多使用相同源 fx:include source="MyCombo.fxml"的 fxml include 标记。可以这样做吗?这样做会影响 F
我需要创建许多不同的 FXML 文件,并且每个文件都有一致的布局。每个都有一个 AnchorPane,它将保存单独的内容。 有没有办法加载“基本”FXML 文件,然后加载第二个 FXML 文件,并将数
我正在尝试创建一个非常简单的带有黑色背景的VBox。就这样。没有其他的。我使用 FXML 来描述我的 VBox。 样本.fxml: Controller .java: package sa
我不明白为什么我总是有同样的错误: image 当我尝试在我的strcuture项目中添加库(fx java)时。 我的build.gradle: plugins { id 'java'
这就是我想要实现的目标。 /Package A/ /Package A/ApplicationController.java /Package A/Application.fxml 在我的 Appli
我有两个 FXML 文件。第一个描述了要显示的第一个 Pane ,其中包含一个选项卡 Pane 、一个菜单和一个菜单项,该菜单项应该在选项卡 Pane 中打开一个新选项卡并在其中绘制一组新节点。这是代
我想要做的是,如果调整场景(应用程序窗口)的大小,我想相应地调整窗口内内容的大小。我已经发布了到目前为止我已经完成的代码 加载器类 public class ResizingButtons exten
我使用的是 Java JDK 13 和 FontAwesomeFX 11。 我有一个 FXML 文件,其中包含一些 FontAwesomeIconViews,但是当将该文件加载到我的 Controll
我明白了 javafx.fxml.LoadException: 当我使用以下代码行加载 fxml 文件时。 AnchorPane anchorPane = (AnchorPane)loader.loa
我是一名优秀的程序员,十分优秀!