java - 如何在两个不同的 Swing 窗口之间共享方法?

标签 java swing inheritance

我有一个 Swing 应用程序,其中有多个目标不同的窗口,但它们都有两个共同点:

  • 他们使用与业务逻辑相关的特定对象
  • 他们必须用特定对象的东西更新一些小部件

所以,为了避免代码冗余,我想把其中的一些套路分享给大家。
也许一个例子可以更清楚:

public class WindowA {
     private JLabel labelA;
     // ...
     private void updateLabelInACertainManner() {
          labelA.setText(this.specificObject.getText());
     }
}

public class WindowB {
     private JLabel labelB;
     // ...
     private void updateLabelInACertainManner() {
          labelA.setText(this.specificObject.getText());
     }
}

如何共享 updateLabelInACertainManner(),知道 specificObject 在两个类中引用相同的对象?

我正在考虑从包含该方法的 WindowRoot 继承 WindowAWindowB 但如何通过 labelA 实现labelB 不是同一个对象,不一定是用同样的方式创建的?

最佳答案

我想你应该读一读这个approach或者关于这个approach .

关于java - 如何在两个不同的 Swing 窗口之间共享方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9044048/

相关文章:

java - JHipster对HTML的修改没有效果

java - 运行 Gradle 安装而不运行compileTestJava 任务?

java - JLabel 中的换行符

c++ - 避免公共(public)类中重复代码

c# - 你能用另一个基类重写一个基类中的抽象方法吗?

javascript - javascript中的模板方法

java - 你建议什么 eclipse GUI builder 插件

java - 是否可以更改 for 循环内的计数器变量?

java - 不太了解JComboBox itemListeners

java - 在 JTextPane 中为文本着色的有效方法