java - 使用 setOnAction 添加现有处理程序方法

标签 java javafx hyperlink event-handling fxml

我想使用 setOnAction 方法将现有的 handleModellAction 方法分配给生成的超链接,但我不知道如何执行此操作。

这是我的代码示例:-

@FXML
private void handleModellAction(ActionEvent event) throws IOException{
    FXMLLoader load = new FXMLLoader(getClass().getResource("InEX.fxml"));
    Parent root = (Parent) load.load();
    Stage stage = new Stage();

    stage.setScene(new Scene(root));
    stage.show();

    link = (Hyperlink) event.getTarget();
    model = link.getId();

    stage.setTitle(model);
}

public void addNeuesModell(String bauart, String modelName){
    modelHyperlink = new Hyperlink();
    modelHyperlink.setId(modelName);
    modelHyperlink.setText(modelName);
    modelHyperlink.setOnAction(#handleModellAction);
}

有人知道怎么做吗?

非常感谢:)

最佳答案

您可以尝试在 modelHyperlink 上调用 setOnAction 方法,并将匿名类作为参数传递给处理程序,您可以在其中传输 的逻辑>handleModellAction 方法。您可以在下面找到一个示例:

Hyperlink link = new Hyperlink();
link.setText("http://example.com");
link.setOnAction(new EventHandler<ActionEvent>() {
    @Override
    public void handle(ActionEvent e) {
        FXMLLoader load = new 
        FXMLLoader(getClass().getResource("InEX.fxml"));
        Parent root = (Parent) load.load();
        Stage stage = new Stage();

        stage.setScene(new Scene(root));
        stage.show();

        link = (Hyperlink) event.getTarget();
        model = link.getId();

        stage.setTitle(model);
    }
});

关于java - 使用 setOnAction 添加现有处理程序方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45366823/

相关文章:

java - 在 Java 中将时间戳作为参数传递的问题

java - 使用 KeyPressed 在 Canvas 上移动图像

JavaFX 退出菜单项

JavaFX HTMLEditor 想要焦点内容编辑器

html - Jquery Mobile 链接停止为页面工作

python - 用指向 URL 的链接替换文本中的 URL

java - 加载仪器

java - 无法从 CAS 获取 servlet 中的用户名

java - URL 连接提供证书路径错误

jquery - 使用 Jquery 中的 if 语句禁用单击时的正常链接行为?