У меня есть приложение 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
ссылается на один и тот же объект в обоих классах?
Я думал о наследовании обоихWindowA
и WindowB
из WindowRoot
, который содержит метод, но как это сделать, если labelA
и labelB
не являются одним и тем же объектом, необязательно созданным одинаковым образом?