Bonjour,
Je reviens encore sur cette discussion.
Si je défini la méthode suivante dans la classe GraphicalUserInterface :
1 2 3
| public void setComponentText(JTextComponent textComponent, String str) {
textComponent.setText(str);
} |
Depuis la classe Functions, je cherche à modifier un JTextArea myTextArea de la classe GraphicalUserInterface, comme suit :
gui.setComponentText(myTextArea, "Voici mon texte");
Voici l'erreur retournée :
myTextArea cannot be resolved
Il faudrait faire :
gui.setComponentText(gui.myTextArea, "Voici mon texte");
Et il faudrait encore que myTextArea soit public sinon on aurait l'erreur suivante :
The field GraphicalUserInterface.myTextArea is not visible
Si on prend la peine de définir une méthode setComponentText dans la classe GraphicalUserInterface, c'est justement pour éviter de rendre visibles (soit public) des composants tels que myTextArea.
Que faire alors :
1. Pour que çà fonctionne ?
2. Pour éviter de rendre les composants public ?
Et quel intérêt de définir une méthode pour agir sur le conposant s'il suffit de rendre ce dernier public et d'y accéder directement ?
Merci d'avance pour vos réponses.
Partager