Java Can';在处理程序中找不到方法
我正在尝试用JavaFX创建一个基本的UI。问题只是在我的控制器中找不到我的处理程序 my ui.fxml:Java Can';在处理程序中找不到方法,java,user-interface,javafx,Java,User Interface,Javafx,我正在尝试用JavaFX创建一个基本的UI。问题只是在我的控制器中找不到我的处理程序 my ui.fxml: 我的控制器类: package reldb0.controller; import java.awt.event.ActionEvent; import java.net.URL; import java.util.ResourceBundle; import javafx.fxml.FXML; import javafx.fxml.Initializable; import j
我的控制器类:
package reldb0.controller;
import java.awt.event.ActionEvent;
import java.net.URL;
import java.util.ResourceBundle;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
import reldb0.entity.Person;
import reldb0.MockData;
/**
*
* @author hnsdi
*/
public class PersonOverviewController implements Initializable{
@FXML
private TableView<Person> table;
@FXML
private TableColumn<Person, String> vorname;
@FXML
private TableColumn<Person, String> nachname;
@Override
public void initialize(URL location, ResourceBundle resources) {
vorname.setCellValueFactory(new PropertyValueFactory<Person, String>("vorname"));
nachname.setCellValueFactory(new PropertyValueFactory<Person, String>("nachname"));
table.getItems().setAll(MockData.persons());
}
@FXML
private void handleAddClicked(ActionEvent event) {
StackPane root = new StackPane();
Scene scene = new Scene(root, 300, 300);
Stage addWindow = new Stage();
addWindow.setTitle("Person hinzufügen");
addWindow.setScene(scene);
addWindow.show();
}
@FXML
private void handleDeleteClicked(ActionEvent event) {
//TODO
}
}
package reldb0.controller;
导入java.awt.event.ActionEvent;
导入java.net.URL;
导入java.util.ResourceBundle;
导入javafx.fxml.fxml;
导入javafx.fxml.Initializable;
导入javafx.scene.scene;
导入javafx.scene.control.Button;
导入javafx.scene.control.TableColumn;
导入javafx.scene.control.TableView;
导入javafx.scene.control.cell.PropertyValueFactory;
导入javafx.scene.layout.StackPane;
导入javafx.stage.stage;
导入reldb0.entity.Person;
导入reldb0.MockData;
/**
*
*@作者hnsdi
*/
公共类PersonOverviewController实现可初始化{
@FXML
私有表视图表;
@FXML
私有表列名称;
@FXML
私有表列nachname;
@凌驾
公共void初始化(URL位置、ResourceBundle资源){
setCellValueFactory(新属性ValueFactory(“vorname”);
nachname.setCellValueFactory(新属性价值工厂(“nachname”);
table.getItems().setAll(MockData.persons());
}
@FXML
私有无效HandLeadClick(ActionEvent事件){
StackPane root=新的StackPane();
场景=新场景(根,300,300);
Stage addWindow=new Stage();
addWindow.setTitle(“人hinzufügen”);
addWindow.setScene(场景);
addWindow.show();
}
@FXML
私有void handleDeleteClicked(ActionEvent事件){
//待办事项
}
}
我找不到为什么找不到我的EventHandler的问题。我有@FXML注释,并且控制器注册正确,因为表中填充了数据
import java.awt.event.ActionEvent; // which is wrong
在PersonOverviewController
类中导入javafx.event.ActionEvent
而不是java.awt.event.ActionEvent
导入
javafx.event.ActionEvent
而不是java.awt.event.ActionEvent
到您的PersonOverviewController
类中您是否尝试重建完整的项目?不,我没有尝试过。当我从签名中删除ActionEvent时,它会起作用。但是我无法访问我的处理程序中的事件。您是否尝试重建整个项目?不,我没有尝试过。当我从签名中删除ActionEvent时,它会起作用。但是,我无法访问处理程序中的事件。
import java.awt.event.ActionEvent; // which is wrong