gpt4 book ai didi

不同类中的 Java ActionEvent

转载 作者:行者123 更新时间:2023-12-02 12:14:32 24 4
gpt4 key购买 nike

已经尝试解决这个问题一天多了,现在抛出白旗。在 UMUC 上这门课,这几乎是一个自学类(class),没有任何帮助,所以我真的很高兴能够在这里提出这个问题。

只是从概念上问这个问题,因为我什至无法理解这个概念。

我有一个创建按钮的 GUI 类(JPanel 的子类)。在 GUI 类中,按钮使用 ActionListener 来识别何时单击它并在文本字段上执行验证测试。到目前为止一切顺利!

现在,在验证测试之后——确保文本字段中的输入是数字,我想使用此输入添加到不同类(称为帐户)中的变量。

在第三个类中,其中包括 main 方法 - 我创建了 Account 类的两个实例:检查和保存,以及 Frame 和向框架添加 GUI。

问题:(1) 当点击GUI类中的按钮时,如何触发account类中的add方法?(2) 如何确保它适用于 Account 类的特定实例,即检查或保存?

最佳答案

您可以通过多种方式来做到这一点。一种方法是向您的 JPanel 提供一个 ActionListener 属性,一旦您验证了按钮的输入,就会触发该属性。这是一个基本的观察者模式(您已经在 JButton 上使用它)。

接下来的问题是如何从面板中获取信息。您可以在面板上提供 setter/getter ,但这会开始加强代码中的耦合。

一个稍微好一点的解决方案可能是提供您自己的监听器/观察器接口(interface),然后您可以将所需的信息从 GUI 传递给监听器,从而进一步解耦 API

如果可能的话,我会避免将Account传递给GUI,除非有某种原因实际使用/修改帐户,最好使其与责任分离,GUI的责任是尽可能地获取和验证信息,并将处理过程传递给观察者/监听者。

在这种情况下,您只需将监听器/观察器包装在帐户的特定实例周围,这样当它被触发时,它就会在正确的帐户上运行

关于不同类中的 Java ActionEvent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46285681/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com