JavaFX Intellij onAction 看起来它没有包含在控制器中
JavaFX Intellij onAction looks like its not covered in controller
我用 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>
当我在我的控制器中创建动作时,IntelliJ 告诉我它从未被使用过。
Look at the Controller displayed in my Intellij
这里是控制器的完整代码class:
package sample;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
public class Controller
{
@FXML
public void btnExit(ActionEvent actionEvent)
{
System.exit(0);
}
}
在 FXML 文件中,我收到警告,提示需要 class 或接口。 (#btnExit
).
in the fxml file it is underlined in red color
当我 运行 程序时,它一切正常,但令人恼火的是它看起来好像出了点问题。我如何克服 IntelliJ 警告?
这发生在我所有的项目中,所以我尝试通过 "File" > "new Project" > "JavaFX Application" 使用 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 文件和控制器文件的链接可能是一个 "Ultimate" 功能。尝试下载最终试用版,看看它是否有效。
尽管IDE社区应该支持JavaFX,但只有Ultimate支持CSS解析和智能编辑,这是JavaFX开发的重要组成部分,所以Ultimate更适合JavaFX案例.
我用 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>
当我在我的控制器中创建动作时,IntelliJ 告诉我它从未被使用过。
Look at the Controller displayed in my Intellij
这里是控制器的完整代码class:
package sample;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
public class Controller
{
@FXML
public void btnExit(ActionEvent actionEvent)
{
System.exit(0);
}
}
在 FXML 文件中,我收到警告,提示需要 class 或接口。 (#btnExit
).
in the fxml file it is underlined in red color
当我 运行 程序时,它一切正常,但令人恼火的是它看起来好像出了点问题。我如何克服 IntelliJ 警告?
这发生在我所有的项目中,所以我尝试通过 "File" > "new Project" > "JavaFX Application" 使用 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 文件和控制器文件的链接可能是一个 "Ultimate" 功能。尝试下载最终试用版,看看它是否有效。
尽管IDE社区应该支持JavaFX,但只有Ultimate支持CSS解析和智能编辑,这是JavaFX开发的重要组成部分,所以Ultimate更适合JavaFX案例.