【问题标题】:Java swing: How to handle events that occur in subclassJava swing:如何处理子类中发生的事件
【发布时间】:2016-10-22 15:11:43
【问题描述】:

我想建立一个简单的计算器,并有这个简单的结构:

CalculatorGUI <>----- ButtonPanel <>------ JButton

Calculator 有一个 JFrame 和 ButtonPanel(扩展 JPanel)。 ButtonPanel 中有 JButtons。

我想有一种方法通过 ButtonPanel 传递 JButton 事件,以便我可以在 CalculatorGUI 中捕获事件。我正在考虑通过 ButtonPanel 传递事件,但我不知道该怎么做。 有没有其他方法可以做到这一点?

提前致谢,

【问题讨论】:

  • 为什么您的 ButtonPanel 扩展 JPanel?您可以将 JButton 添加到 JPanel。组合比继承好得多。为什么要在计算器 GUI 中捕获 JButton 操作事件?创建 ButtonPanel 类的重点是您在 ButtonPanel 类中处理与 JButtons 相关的所有内容。
  • @GilbertLeBlanc:我认为他在他的UML diagram 中显示了一种组合关系。那些不是箭头。

标签: java swing jpanel jbutton


【解决方案1】:

您可以使用界面来实现这一点。在您的按钮面板中创建该界面并在您的计算器 GUI 中实现该 interfaceListener。在界面中声明您的方法名称,您的计算器 GUI 将不得不覆盖它们。然后在您的按钮事件中使用该界面让 GUI 知道它

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-27
    • 2013-05-30
    • 1970-01-01
    • 2014-05-13
    • 1970-01-01
    • 1970-01-01
    • 2016-03-03
    • 2013-04-28
    相关资源
    最近更新 更多