Java 类间通信

Java 类间通信,java,swt,Java,Swt,我有一张分为两类的表格。每个类都表示表单部分的小部件。允许这些类彼此共享数据并相互更新的最佳方式是什么 例如: 单击类A中的按钮。更新C类中的文本字段可以创建一个包含所有表单对象的类。表单类都知道父类并通过它进行通信 如果在类a中单击按钮,则类a调用父类中的方法,父类通知类C更新其文本字段。不要思考小部件。在模型上设计应用程序。将小部件作为窗口安装到这些模型上。(并且不要不必要地扩展类。)这是非常简短的操作: public class ButtonFrame extends JFrame imp

我有一张分为两类的表格。每个类都表示表单部分的小部件。允许这些类彼此共享数据并相互更新的最佳方式是什么

例如:
单击类A中的按钮。更新C类中的文本字段可以创建一个包含所有表单对象的类。表单类都知道父类并通过它进行通信


如果在类a中单击按钮,则类a调用父类中的方法,父类通知类C更新其文本字段。

不要思考小部件。在模型上设计应用程序。将小部件作为窗口安装到这些模型上。(并且不要不必要地扩展类。)

这是非常简短的操作:

public class ButtonFrame extends JFrame implements ActionListener
{
     private TextFieldFrame frame;

     public ButtonFrame(TextFieldFrame frame)
     {
         this.frame = frame;
         // init your components and add this as actionlistener to the button
         ....
     }

     public void actionPerformed(ActionEvent evt)
     {
         frame.notifyButtonPressed();
     }
}
另一类:

public class TextFieldFrame extends JFrame
{
     private JTextField field = ...; // init in your constructor

     public void notifyButtonPressed()
     {
         field.setText("Yes man!! The button is pressed by the user!");
     }
}
同样,这是你必须做的非常简短的事情。
您也可以使用模式,但这是一种更好的方法。

看看,它可以给您一些想法

此外,JFace数据绑定框架的目标是对象之间的值同步,尽管我发现它的文档记录得很差,而且使用起来也不太有趣