JavaFX:为按钮的事件处理程序解决 onAction 的 LoadException

滴滴

我是 JavaFX 的新手。尝试按照教程生成场景并将事件处理程序与按钮相关联。

我创建了一个 Main.FXML 并在 SceneBuilder 中进行了编辑。由于我在 IDE 中添加了 SceneBuilder 的路径,因此它能够检测到我的主控制器。我写了一个函数来生成随机数。

public class MainController {

    public static void generateRandom(ActionEvent event) {
        Random rand = new Random();
        int myrand = rand.nextInt(500) + 1;
        System.out.print(Integer.toString(myrand));
    }
}

在scenebuilder中,它在控制器中检测到这个方法,可以很容易地将其添加为按钮的OnAction的事件处理程序。Main.FXML 在操作后更新。

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

<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.layout.AnchorPane?>


<AnchorPane prefHeight="300" prefWidth="500" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/8.0.111" fx:controller="application.MainController">
   <children>
      <Button layoutX="204.0" layoutY="204.0" mnemonicParsing="false" onAction="#generateRandom" text="Button" />
      <Label layoutX="138.0" layoutY="36.0" prefHeight="144.0" prefWidth="210.0" />
   </children>
</AnchorPane>

我的主要应用类如下:

public class Main extends Application {
    @Override
    public void start(Stage primaryStage) throws IOException {
        Parent root = FXMLLoader.load(getClass().getResource("/application/Main.fxml"));
        Scene scene = new Scene(root,400,400);
        scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
        primaryStage.setTitle("My Title");
        primaryStage.setScene(scene);
        primaryStage.show();

    }

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

当我运行该应用程序时,出现错误:

javafx.fxml.LoadException:解析 onAction='#generateRandom' 时出错,要么事件处理程序不在命名空间中,要么脚本中有错误。/C:/Users/Oscar/Workspace/Sunoco/bin/application/Main.fxml:10

加载 FXML 时解析“onAction”时出错表明它可能与错误的导入有关ActionEvent,但事实并非如此。此外,一切都是使用 SceneBuilder 和 Eclipse 自动设置的。那我为什么会收到这个错误?

n247s

我认为如果您@FXML在 eventMethod 上使用注释,问题将得到解决此外,尽量不要将控制器中的方法设为静态,因为这可能会造成混淆/误导。如果您需要从其他地方访问该方法,请考虑在单独的(类似实用程序的)类中声明它。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

GraalVM javafx.fxml.LoadException:解决onAction ='#loginAction'时出错,事件处理程序不在命名空间中

来自分类Dev

JavaFX Cant使用onAction

来自分类Dev

JavaFX ComboBox setItems触发onAction事件

来自分类Dev

在JavaFX中使用Enter触发按钮的onAction

来自分类Dev

javafx.fxml.LoadException:无效的属性

来自分类Dev

Eclipse中的javafx.fxml.LoadException

来自分类Dev

javafx.fxml.LoadException:无效的属性

来自分类Dev

加载FXML时解决“ onAction”时出错

来自分类Dev

javafx中文本字段的onAction

来自分类Dev

Proguard 不处理 FXML 中的 onAction 调用

来自分类常见问题

JavaFX | javafx.fxml.LoadException:缺少资源密钥

来自分类Dev

JavaFX:是否有简单的方法可以在代码中更改onAction处理程序的方法?

来自分类Dev

加载 fxml 时出现“javafx.fxml.LoadException”

来自分类Dev

Javafx中的ProgressBar在onAction块中不会更新

来自分类Dev

i18n在DataFX中,JavaFX应用程序获取LoadException:未指定资源

来自分类Dev

JavaFX Scene Builder在不同的包/控制器上处理OnAction

来自分类Dev

JavaFX 8:javafx.fxml.LoadException-fxmlLoader.load()不起作用,但fxmlLoader.getController()起作用

来自分类Dev

为什么我得到javafx.fxml.LoadException甚至fxml文件的路径是正确的

来自分类Dev

JavaFX8-FXML如何使用onAction-tag中的参数调用方法?

来自分类Dev

FXML设置ButtonType onAction

来自分类Dev

从一个窗口切换到另一个窗口时发生javafx.fxml.LoadException

来自分类Dev

Blazor Mono.Linker.LoadException

来自分类Dev

如何在 onAction 事件方法的默认文本编辑器中打开文件(无头图形环境)

来自分类Dev

VBA通过.onAction传递参数

来自分类Dev

Excel插件; Onaction宏链接

来自分类Dev

防止OnAction执行和过滤

来自分类Dev

在初始化另一个控制器时使用一个控制器的变量时,会出现NullPointerException和LoadException。JavaFX

来自分类Dev

VBA在OnAction中包含子例程的参数

来自分类Dev

在形状中使用OnAction获取错误1004

Related 相关文章

  1. 1

    GraalVM javafx.fxml.LoadException:解决onAction ='#loginAction'时出错,事件处理程序不在命名空间中

  2. 2

    JavaFX Cant使用onAction

  3. 3

    JavaFX ComboBox setItems触发onAction事件

  4. 4

    在JavaFX中使用Enter触发按钮的onAction

  5. 5

    javafx.fxml.LoadException:无效的属性

  6. 6

    Eclipse中的javafx.fxml.LoadException

  7. 7

    javafx.fxml.LoadException:无效的属性

  8. 8

    加载FXML时解决“ onAction”时出错

  9. 9

    javafx中文本字段的onAction

  10. 10

    Proguard 不处理 FXML 中的 onAction 调用

  11. 11

    JavaFX | javafx.fxml.LoadException:缺少资源密钥

  12. 12

    JavaFX:是否有简单的方法可以在代码中更改onAction处理程序的方法?

  13. 13

    加载 fxml 时出现“javafx.fxml.LoadException”

  14. 14

    Javafx中的ProgressBar在onAction块中不会更新

  15. 15

    i18n在DataFX中,JavaFX应用程序获取LoadException:未指定资源

  16. 16

    JavaFX Scene Builder在不同的包/控制器上处理OnAction

  17. 17

    JavaFX 8:javafx.fxml.LoadException-fxmlLoader.load()不起作用,但fxmlLoader.getController()起作用

  18. 18

    为什么我得到javafx.fxml.LoadException甚至fxml文件的路径是正确的

  19. 19

    JavaFX8-FXML如何使用onAction-tag中的参数调用方法?

  20. 20

    FXML设置ButtonType onAction

  21. 21

    从一个窗口切换到另一个窗口时发生javafx.fxml.LoadException

  22. 22

    Blazor Mono.Linker.LoadException

  23. 23

    如何在 onAction 事件方法的默认文本编辑器中打开文件(无头图形环境)

  24. 24

    VBA通过.onAction传递参数

  25. 25

    Excel插件; Onaction宏链接

  26. 26

    防止OnAction执行和过滤

  27. 27

    在初始化另一个控制器时使用一个控制器的变量时,会出现NullPointerException和LoadException。JavaFX

  28. 28

    VBA在OnAction中包含子例程的参数

  29. 29

    在形状中使用OnAction获取错误1004

热门标签

归档