在JavaFX和scenebuilder项目中,如何在Controller中使用setOnAction()方法class
In JavaFX and scenebuilder project, how to use the setOnAction() method in Controller class
我是 JavaFX 和 SceneBuilder 的新手。
我在 Eclipse 中使用 SceneBuilder 创建了一个应用程序。 (右键单击 FXML 文件 > 使用 SceneBuilder 打开)
在initialize方法里面,我看不到setOnAction方法。
package application.controller;
import com.jfoenix.controls.JFXPasswordField;
import com.jfoenix.controls.JFXTextField;
import java.net.URL;
import java.util.ResourceBundle;
import javafx.fxml.FXML;
import javafx.scene.image.ImageView;
public class controller {
@FXML
private ResourceBundle resources;
@FXML
private URL location;
@FXML
private JFXTextField loginID;
@FXML
private JFXPasswordField passwordID;
@FXML
private ImageView loginButton;
@FXML
public void initialize() {
loginButton.setona
}
}
onAction 方法用于通用操作,并非每个组件都有该方法。如果你想在用户点击按钮时触发一个事件,你可以使用
loginButton.setOnMouseClicked(event -> System.out.println("click"));
现在如果你想尝试添加 onAction 处理程序你可以简单地添加它添加它有事件过滤器,但我不确定它是否适用于 imageview
loginButton.addEventFilter(ActionEvent.ANY, event -> ...)
您将 loginButton
定义为 ImageView
。 ImageView
没有 setOnAction
方法。请改用 setOnMouseClicked
。
我是 JavaFX 和 SceneBuilder 的新手。 我在 Eclipse 中使用 SceneBuilder 创建了一个应用程序。 (右键单击 FXML 文件 > 使用 SceneBuilder 打开) 在initialize方法里面,我看不到setOnAction方法。
package application.controller;
import com.jfoenix.controls.JFXPasswordField;
import com.jfoenix.controls.JFXTextField;
import java.net.URL;
import java.util.ResourceBundle;
import javafx.fxml.FXML;
import javafx.scene.image.ImageView;
public class controller {
@FXML
private ResourceBundle resources;
@FXML
private URL location;
@FXML
private JFXTextField loginID;
@FXML
private JFXPasswordField passwordID;
@FXML
private ImageView loginButton;
@FXML
public void initialize() {
loginButton.setona
}
}
onAction 方法用于通用操作,并非每个组件都有该方法。如果你想在用户点击按钮时触发一个事件,你可以使用
loginButton.setOnMouseClicked(event -> System.out.println("click"));
现在如果你想尝试添加 onAction 处理程序你可以简单地添加它添加它有事件过滤器,但我不确定它是否适用于 imageview
loginButton.addEventFilter(ActionEvent.ANY, event -> ...)
您将 loginButton
定义为 ImageView
。 ImageView
没有 setOnAction
方法。请改用 setOnMouseClicked
。