2009-11-26 4 views
0

Je ne peux pas sembler obtenir cette déclaration à travailler pendant l'exécution.Utilisation de contrôles/propriétés Java pendant l'exécution?

textWords.setText(item);

textWords est un objet, setText est un procédé et un article est un nombre entier.

Quelqu'un connaît-il cela? Je n'arrive pas à faire fonctionner ça pendant l'exécution.

Il n'y a pas d'erreur, pendant l'exécution, ça ne fait rien!

public class frmMain extends javax.swing.JFrame { 
    public frmMain() { 
    initComponents(); 
    textWords.append("Bryan"); // THIS works!! but this only          //happens when the form is initialized, not very usefull 
} 
//Other pre generated code here. 

private void displayItem() { 
    //Method I created to help me catch data 
    // and make a call to this form. 
    // none of these are working. 
    txtTest.setText(item); 

    textWords.setText(item); 
    textWords.insert("Bryan",1); 
    textWords.append("number"); 
} 
+2

Poster plus de code, l'erreur, rien de plus que cela. Je ne peux pas dire une chose de votre question. – duffymo

Répondre

0

Je devine que ce que vous avez besoin est:

textWords.setText(Integer.toString(item)); 

dire que vous devez convertir le « point » (un entier) à une chaîne. Vous pouvez le faire d'une manière différente:

textWords.setText("" + item); 
0

Etes-vous sûr de faire les changements sur l'EDT? La modification des composants de l'interface graphique sur n'importe quel autre thread peut produire des résultats indéfinis.

Essayez d'ajouter ce code au début de affichage displayitem():

if (!SwingUtilities.isEventDispatchThread()) { 
    SwingUtilities.invokeLater(new Runnable() { 
     public void run() { 
      displayItem(); 
     } 
    }); 
    return; 
} 

Si l'appel à affichage displayitem est pas à l'EDT, il crée un runnable et redistribue sur l'EDT.

Voir aussi http://java.sun.com/docs/books/tutorial/uiswing/concurrency/index.html