猿问

事件发生后更新 javafx 中文本字段的值

我想更新JavaFx textfield事件后的值。我有一个RootScreen打开一个popup,popup我有一个listview. 当用户选择那个项目时listview,它应该更新texfieldin上的值RootScreen。这是对button出现在每个列表项上的操作的代码。每个 listItem 也有一个TEXTFIELD和button来选择它。我要上的价值TEXTFIELD是在texfield在RootScreen。请查看大写和小写,因为我试图使其尽可能易于理解。


    public void initialize() {

            button.setOnAction(event -> {

                source = select.getParent();

//walletname is the name i want on textfield.

                walletName = textField.getText();

                getWalletName(walletName);

                Stage stage = (Stage) source.getScene().getWindow();

                stage.close();





            });


        }

        private void getWalletName(String walletName){


            profilePopup.SetText(walletName,rootScreenController);


        }

该SetText方法在Popup View Class. SetText方法的代码。


public void SetText(String walletName, OnClick onClick){

        onClick.onMouseClicked(walletName);

   }

我有一个interface OnClick,它有一个onMouseClicked方法。我实现的接口RootScreen


public interface OnClick {

      void onMouseClicked(String name);



}

这就是我如何覆盖界面中的方法。


@Override

    public void onMouseClicked(String walletName) {

textfield.setText(walletname);

    }

但它没有更新文本字段上的值。我是 Java 新手,所以我不确定在这里做什么。


茅侃侃
浏览 180回答 2
2回答

胡子哥哥

如果您有一个弹出屏幕来填充来自 ListView 的信息,我认为最好是 ListView 条目是一个对象或集合中的一个对象。这是您可以分离 ListView 上的每个条目的唯一方法 - 从对象中提取信息,而不是从 ListView 一个单一项目中派生。
随时随地看视频慕课网APP

相关分类

Java
我要回答