Dans mon programme, je charge un JTextArea
pour afficher du texte lorsque je clique sur un bouton. J'ai ajouté le ActionListener
et écrit une méthode loadQuestion()
, mais pour une raison quelconque, le composant n'est pas mis à jour. Le composant est contenu dans un autre fichier auquel j'accède via les méthodes get()
et set()
. J'ai exécuté les méthodes repaint()
et revalidate()
dans la méthode loadQuestion() et de nouveau dans la méthode setTextArea()
, mais cela ne semble toujours pas fonctionner !! Tous les pointeurs seraient appréciés - merci à l'avanceMise à jour de JTextArea en Java
public void loadQuestion() {
JTextArea tempArea = quizDisplay.getTextArea();
String text = "Hello World!!";
tempArea.append("Hi");
quizDisplay.setTextArea(tempArea);
quizDisplay.revalidate();
quizDisplay.repaint();
}
Je ne pense pas que votre question est actuellement responsable compte tenu de l'information qui a été présentée jusqu'à maintenant, nous avons besoin de plus d'information pour nous aventurer plus que de simples suppositions. Je vais deviner quand même - êtes-vous sûr que l'objet quizDisplay sur lequel vous appelez des méthodes est celui qui est affiché? Si cela ne vous aide pas, envisagez sérieusement de nous donner plus d'informations, de préférence un [sscce] (http://sscce.org). Notez également qu'une fois que vous avez ajouté du texte ou défini du texte sur un JTextArea, il s'affiche et les appels à 'revalidate()' et 'repaint()' sont complètement inutiles. –
Essayez d'ajouter quizDisplay.updateUI(). Vous êtes sûr que cette méthode est appelée correctement? – kosa
En outre, puisque vous obtenez le JTextArea de l'objet quizDisplay, je doute que vous ayez besoin de le renvoyer via votre méthode 'setTextArea (...)', car il est probablement déjà "défini" comme JTextArea de l'objet. Encore une fois, cela ne peut être qu'une supposition, car nous manquons des pièces importantes à votre puzzle. –