当前位置: 首页 > 知识库问答 >
问题:

清除另一个类中的TextField

晏卓君
2023-03-14

在我的主FXML控制器类Alpha中,我有一个掩码,它包含一个文本字段和一个按钮clear It:

@FXML
private TextField testTF = new TextField();

@FXML
public void clearText() {
    if (testTF != null)
    testTF.clear();
}

如果我在“文本”字段中输入文本并点击“清除”按钮,文本将被删除。到目前为止,一切正常。

我有第二个控制器类测试版。相应的fxml文件包含菜单布局(菜单栏)。如果点击了菜单项“New”,它也应该清除alpha类中的my文本字段。

public class Beta {
    private void newApp() {
        Alpha a = new Alpha();
        a.clear();
    }
}

但什么也没发生。我在这里做错了什么?如何单击FXML控制器类中的按钮/菜单项并使其清除另一个FXML控制器类中的文本字段?

共有1个答案

赵正雅
2023-03-14

不应使用new TextField()实例化testTF;:FXMLLoader将自动为testTF分配相应的TextField对象,因为您有一个@fxml标记。

您正在重新实例化beta类中的alpha,该类与加载fxml时创建的类分开存在,从而产生两个单独的专用TextField TestTF对象。为beta提供对alpha第一个实例的引用,或尝试以下选项:

    public class Alpha implements Initializable {

        public static TextField tf;

        @FXML
        private TextField testTF;

        @Override
        public void initialize(URL location, ResourceBundle resources) {
            tf = testTF;
        }
    }

    public class Beta {
        private void newApp() {
            if (Alpha.tf != null)
                Alpha.tf.clear();
        }
    }
 类似资料:
  • 问题内容: 我有一个与和。在其中有一个链接,单击该链接应清除的内容。 到目前为止,上述想法的以下实现无效。请帮我解决这个问题。 请注意 ,并且每个都从不同的包含文件加载。 wrapperPage.html header.html: pageBody.html: 问题答案: 尝试使用频道信息

  • 我已经阅读了很多stackoverflow的页面,但是我无法将我的ArrayList复制到另一个类中。下面是一个场景,我正在构建一个快速的图书储蓄应用程序,类似于图书馆中的应用程序,但更简单(用于学校)。 我有我的主库类(带有main),它为主菜单/选项设置了swing。 我有一个带有新书构造函数的book类,如下所示: 在这个类中,我在确认按钮上添加了一个,以确认上要作为对象添加的输入,如下所示

  • 我不明白为什么下面的代码会打印两次。我以为应该是个人和学生。当通过“a”对象调用printPerson()内部的getInfo()时,为什么要调用Person类内部的一个,为什么不调用Student类中的一个?提前谢谢。

  • 我必须插入一个JFrame,另一个类的一个JPanel。我在JFrame中有一个jMenuItem,我希望这样,当我单击jMenuItem,就会出现JPanel。

  • 我是一名Java程序员初学者。我试图在类交通中访问类车中的两个列表,这样我就可以执行while循环,循环直到主类中的列表为空 这就是我现在掌握的代码,我试着从普通车上扩展流量,但没有成功,我被卡住了。我该怎么解决这个问题?

  • 我的Java包中有四个类。只有一个类具有方法。 当我运行方法时,我如何运行这四个类中的所有方法? 以下是我的课程: 第一类。JAVA 第二类。爪哇 第三类。JAVA 样品。JAVA