gpt4 book ai didi

JavaFX Intellij onAction 看起来好像没有在 Controller 中覆盖

转载 作者:行者123 更新时间:2023-12-01 10:09:58 24 4
gpt4 key购买 nike

我在 JavaFX 中创建了一个简单的 Fxml 应用程序。我添加了一个带有场景生成器的按钮和一个名为 btnExit 的操作:完整的FXML文件(完全简单且新鲜生成)

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

<?import javafx.scene.control.Button?>
<?import javafx.scene.layout.GridPane?>
<GridPane alignment="center" hgap="10" vgap="10" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/8.0.65" fx:controller="sample.Controller">
<children>
<Button mnemonicParsing="false" text="Button" onAction="#btnExit"/>
</children>
</GridPane>

当我在 Controller 中创建操作时,IntelliJ 告诉我它从未被使用过。

Look at the Controller displayed in my Intellij

这是Controller类的完整代码:

package sample;

import javafx.event.ActionEvent;
import javafx.fxml.FXML;

public class Controller
{
@FXML
public void btnExit(ActionEvent actionEvent)
{
System.exit(0);
}
}

在 FXML 文件中,我收到警告,提示需要类或接口(interface)。 (#btnExit)。

in the fxml file it is underlined in red color

当我运行该程序时,一切正常,但令人恼火的是,它看起来好像出了问题。如何克服 IntelliJ 警告?

这种情况发生在我的所有项目中,因此我尝试通过"file">“新项目”>“JavaFX 应用程序”使用 IntelliJ 创建一个全新的项目。我认为我的设置或 jdk 有问题,但我不知道可能是什么。

ps:我是 java 和 javaFX 新手

我已更新到 intellij 2016 并重新安装了它:

IntelliJ IDEA 2016.1
Build #IC-145.258, built on March 17, 2016
JRE: 1.8.0_71-b15 amd64
JVM: Java HotSpot(TM) 64-Bit Server VM by Oracle Corporation

最佳答案

我在我的 Intellij IDE 中加载了你的类,它运行得很好。 FXML 文件中没有出现红色下划线,并且 CMD+单击 FXML 中的 #btnExit 导航到 Controller 中相应的方法定义。作为引用,我运行的 Idea 版本是:

IntelliJ IDEA 2016.3.1 EAP
Build #IU-163.9166.7, built on November 29, 2016
JRE: 1.8.0_112-release-408-b2 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o`

OS X 10.9.5 上运行,项目 JDK 为 Oracle 1.8u102

我认为构建版本中的 U 代表“Ultimate”。

我的猜测(确实如此)FML 文件和 Controller 文件的链接可能是“终极”功能。尝试下载终极试用版,看看它是否有效。

尽管IDEA Community应该支持JavaFX,但只有Ultimate支持CSS解析和智能编辑,这是JavaFX开发的重要组成部分,所以无论如何Ultimate更适合JavaFX。

关于JavaFX Intellij onAction 看起来好像没有在 Controller 中覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36186854/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com