2012-03-14 88 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在類之間進行通信。

相關問題