2012-03-14 57 views
-1

我有下面的代码相同的类如何从一个类检索信息到另一个

btnAddItem.addActionListener(new ActionListener() { 
    public void actionPerformed(ActionEvent e) { 

     String tabno = textArea_TableNo.getText(); 
     String name = textArea_Name.getText(); 
     String size = textArea_size.getText(); 
     String quan = textArea_quantity.getText(); 
     String price = textArea_price.getText(); 
     textArea.append(tabno + ", " + name + ", " + size + ", " + quan + ", " + price + "\n"); 

内检索的文本框的信息到另一个,但我不知道该怎么办之间的这种完全相同的操作两班。我可能不得不“扩展”我的课程,但我已经将课程扩展到了我的数据库类。我只是不知道我还能做到这一点。任何建议,让我的头周围这将不胜感激..

+0

那么属于每个班级的是什么?换句话说,你希望两个班如何沟通? – 2012-03-14 19:18:48

+0

@MarkPeters我对Java很新,但是到目前为止,我一直在使用“extend”,如果这就是你的意思 – FatmaTurk 2012-03-14 19:20:28

+0

我的意思是你几乎没有提供关于你是什么的信息试图通过将这些代码分成两个类来完成。你为什么要分裂它?这两个班级是如何组织的?这个问题目前的形式是无法回答的,因为你根本没有给出任何背景。 – 2012-03-14 19:25:48

回答

0

那么,你可以有一个公共的方法来检索文本,并在另一个类上使用它。例如:

class Class1 { 
    private JTextArea textOne; 

    //... declare other fields, build GUI, etc 

    public String getTextOneText() { 
    return textOne.getText(); 
    } 
} 

class Class2 { 
    private JTextArea textTwo; 
    private Class1 class1; 
    public Class2(Class1 class1) { 
    this.class1 = class1; //store reference to class1. 
    } 
    //use the getData method to append text from the Class1. 
    void getData() { 
    textTwo.append(class1.getTextOneText()) 
    } 
} 

在这个例子中,存储Class2提及的Class1实例和使用方法getData应该做你想要什么。

另一种方法是使用Observer Design Pattern在类之间进行通信。

相关问题