2012-04-25 18 views
5

Tengo un largo String que quiero mostrar en un JTextField. Si el String es demasiado largo, se está mostrando la parte derecha de la String, en lugar de la parte izquierda, aun cuando uso setHorizontalAlignment(JTextField.LEFT)JTextField: Cómo configurar el texto a la izquierda de JTextField cuando el texto es demasiado largo

Por ejemplo, si mi String es "ejemplo JTextField, este texto es demasiado largo ", se debe mostrar como ...

|----------------------| 
| JTextField example ..| 
|----------------------| 

pero en cambio se muestra como ...

|----------------------| 
| this text is too long| 
|----------------------| 

Podría alguien sugerir cómo esto se puede arreglar ed.

+8

puede usar 'setCaretPosition (0)' para ajustar la posición de la parte izquierda de la 'pero en JTextField' Para poder desplazarse, tendrá que agregar el 'JTextField' a' JScrollPane' – twain249

+1

@ twain249: ¿Por qué no poner eso como respuesta? Demasiado bueno, funcionará como se espera :-) –

+1

@ twain249: incluso sin un 'JScrollPane',' JTextField' puede desplazarse usando las teclas de flecha izquierda y derecha; 'setScrollOffset()' parece prometedor también. – trashgod

Respuesta

8

la horizontalAlignement funciona bien cuando el tamaño del campo es más grande que el número de caracteres de la cadena, pero si es más pequeño, solo hace LEFT_ALIGNMENT con el setText de su creación, no con cualquier setText posterior.

Se podría forzar la posición del cursor al inicio del texto usando:

myTextField.setCaretPosition(0); 
Cuestiones relacionadas