2010-07-11 5 views
0

J'ai 2 modules: BrowserLibrary et BrowserViewer.Netbeans 6.8: Actionlistener confusion

Le navigateur contient des informations comme n'importe quel navigateur.

donc l'intérieur du module BrowserLibrary J'ai une classe comme ceci:

public class BrowserController implements ActionListener{ 

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

} 

et BrowserTopComponent.java du module BrowserViewer:

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

Je ne suis pas sûr que ce soit la bonne conception, je devrais être poursuivre. BrowserLibrary ne devrait-il être utilisé que pour charger les fichiers JAR de tiers et rien d'autre? Si c'est le cas je finirais avec 3 modules: BrowserLibrary, Browser, BrowserViewer? Comment les dépendances fonctionneraient-elles dans ce cas? Le navigateur dépend-il de BrowserLibrary, et BrowserViewer dépend du navigateur?

Donc à l'intérieur du module du navigateur, j'aurais la classe BrowserController qui implémente ActionListener?

Comment puis-je obtenir le nom de variable de l'objet e.getSource()? dans ce cas "navButton" est le nom de la variable de la JButton.

Dois-je utiliser des recherches? Comment cela serait-il incorporé ici?

Répondre

0

Le nombre et la composition des modules doivent refléter la modularité de votre conception. Une bonne question à poser est: "Ce module peut-il être réutilisé sans les autres?" Si la réponse est non, alors les modules en question sont étroitement couplés et ne devraient probablement être qu'un seul module. Par exemple, un module qui gère le protocole HTTP pourrait être utilisé indépendamment du navigateur. Les actions de navigation dans un navigateur sont probablement plutôt centrées sur le navigateur et ne peuvent probablement pas être utilisées par elles-mêmes. Les variables sont des instances de temps d'exécution, mais les noms de variables sont en réalité des artefacts de compilation que les programmeurs utilisent pour se référer à une variable. Cela dit, tous les composants d'oscillation ont une propriété de nom qui peut être utilisée pour l'identification. Notez qu'il est de la responsabilité du développeur de garantir l'unicité.

Questions connexes