2010-07-11 58 views
0

我有2個模塊:BrowserLibrary和BrowserViewer。Netbeans 6.8:Actionlistener混淆

瀏覽器包含像任何瀏覽器應該gui。

所以BrowserLibrary模塊裏面我有一個類,像這樣:

public class BrowserController implements ActionListener{ 

    public void actionPerformed(ActionEvent e) { 
     if (e.getSource().getVarName() == "navButton") 
     System.out.println("clicked"); 
    } 

} 

和BrowserViewer模塊的BrowserTopComponent.java:

private javax.swing.JButton navButton; 
navButton.addActionListener(BrowserController); 

我不知道這是否是正確的設計應該是我追求。 BrowserLibrary是否只能用於加載第三方JAR,而不是其他內容?如果是這樣的話,我最終會得到3個模塊:BrowserLibrary,Browser,BrowserViewer?依賴關係在這種情況下會如何工作?瀏覽器依賴於BrowserLibrary,BrowserViewer依賴於瀏覽器嗎?

因此,在瀏覽器模塊中,我會有實現ActionListener的BrowserController類?

另外我怎樣才能得到e.getSource()對象的變量名?在這種情況下,「navButton」是JButton的變量名稱。

我應該使用查找嗎?這將如何結合在這裏?

回答

0

模塊的數量和組成應反映設計的模塊性。要問的一個好問題是「這個模塊可以在沒有其他模塊的情況下重用嗎?」如果答案是否定的,那麼所討論的模塊是緊密耦合的,應該只能是一個模塊。例如,處理HTTP協議的模塊可以獨立於瀏覽器使用。在瀏覽器中瀏覽的動作可能是瀏覽器爲中心的,可能不能單獨使用。

變量是運行時實例,但變量名實際上是編譯時工件,程序員用它來引用變量。也就是說,所有擺動組件都具有可用於識別的名稱屬性。請注意,確保獨特性是開發者的責任。