component swing jtextfield par défaut la position du curseur
Je travaille avec JTextField
et le code pour le champ de texte. Je suis en train de faire un textfield aussi grand que le bloc-notes mais le curseur apparaît toujours dans le milieu. Je veux mettre dans le départ de la textfield.
tf=new JTextField(50);
tf.setCaretPosition(0);
f.setLayout(new BorderLayout());
f.add(tf,BorderLayout.CENTER);
Vous devez vous connecter pour publier un commentaire.
Essayez de définir l'alignement du texte:
JTextField
par défaut, l'alignement horizontal, et l'affiche du problème est avec l'alignement vertical (comme vous pouvez le voir rapidement si vous exécutez le code).Pas très clairement la question. Comme vous ajoutez le champ de texte au centre d'un BorderLayout, le champ de texte sera automatiquement redimensionnée à la fois verticalement et horizontalement pour remplir l'espace disponible dans le cadre.
Par défaut, le curseur apparaît sur la gauche à l'horizontale et dans le centre verticalement. Donc je suppose que l'alignement vertical est ce que vous vous plaignez. Eh bien, je ne sais pas de toute façon de résoudre le problème, car c'est le moyen le champ de texte de l'INTERFACE utilisateur travaille.
Si vous modifiez la taille de police du texte, alors il apparaîtra plus grand et le curseur apparaît de plus vers le haut.
Je vous suggère d'utiliser, essayez d'utiliser un JTextArea. Le Seule Ligne De Texte De La Zone De ne fonctionnent pas de la façon dont vous le souhaitez.
Depuis
JTextField
ne détient qu'une seule ligne de texte, vous pourriez être mieux de dimensionnement de laJTextField
de manière plus appropriée.Autant que je sache, il n'y a pas de bonne façon de faire exactement ce que vous avez demandé. Notez que bien qu'il y est
setHorizontalAlignment()
, n'est passetVerticalAlignment()
.setAlignmentY()
ne pas le faire (qui définit l'alignement des composants ajouté à un conteneur, qui n'a pas de sens pour unJTextField
).Vous pouvez faux en plaçant le
JTextField
dans le nord de laBorderLayout
, comme suit:Mais je pense vraiment ce que vous voulez peut être sur plusieurs lignes, dans ce cas, vous devriez être en utilisant un
JTextArea
.Vous devez utiliser JScrollPane. Il fournira une barre de défilement, et va répondre à vos besoins aussi.