2012-10-08 4 views
0

Mon but est d'écrire quelque chose qui est visible à l'utilisateur dans JTextField et d'afficher ce texte dans la console. A partir de maintenant, le JTextField accepte du texte mais rien ne s'affiche. Pas de curseur, pas de texte.Comment rendre le texte JTextField visible?

J'ai essayé d'utiliser textfield.setEditable (true), textfield.setEnable (true) et différentes couleurs avant et arrière, mais rien ne se passe. Curieusement, je peux utiliser textField.setText ("Random text") et cela se voit, mais je ne peux pas le supprimer ou le modifier lorsque le programme est en cours d'exécution et qu'il n'est pas inclus dans les sorties de getText().

Voici le programme:

import acm.program.*; 

import java.awt.Color; 
import java.awt.event.*; 
import javax.swing.*; 

@SuppressWarnings("serial") 
public class TextFieldTest extends ConsoleProgram implements SomeConstants { 

public void init() { 
    setSize(APPLICATION_WIDTH, APPLICATION_HEIGHT); 

    textField = new JTextField(20); 
    add(textField, SOUTH); 
    textField.addActionListener(this); 
} 

public void actionPerformed(ActionEvent e) { 
    if (e.getSource() == textField) 
     println("Hi, " + textField.getText()); 
} 

private JTextField textField; 
} 
+0

pouvez-vous commenter toute la logique d'actionPerformed et que d'essayer à nouveau. – rbhawsar

+0

A commenté - rien ne se montre quand j'essaye d'écrire dans le Jtextfield. J'ai essayé de commenter le addlistener, la logique et la méthode dans une combinaison différente. – Tor

+0

Si je crée un JFrame et que j'ajoute JTextField, cela fonctionne bien, donc je suppose que cela a quelque chose à voir avec le fait que j'utilise acm (consoleprogram)? – Tor

Répondre

1

Si vous travaillez avec acm.program.ConsoleProgram, vous devrez peut-être utiliser Java SE 5 (version 1.5), comme l'a suggéré here.

Addendum: Comme commentaires @Tor, java.awt.TextField peut être acceptable sous les versions ultérieures du JRE.

+0

Ok, merci. J'utilise jre1.6. Enfin, en utilisant un TextField normal à la place et cela fonctionne bien à cette fin. – Tor

+0

@Tor: Bon à savoir; Vaut vraiment le coup de mettre à jour. – trashgod

Questions connexes