JTextField : How to set text on the left of JTextField when text too long

manhnt picture manhnt · Apr 25, 2012 · Viewed 8k times · Source

I have a long String that I want to display in a JTextField. If the String is too long, it is showing the right-portion of the String, rather than the left portion, even when I use setHorizontalAlignment(JTextField.LEFT)

For example, if my String is "JTextField example , this text is too long", it should show as...

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

but instead it shows as...

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

Could someone please suggest how this can be fixed.

Answer

Zaz Gmy picture Zaz Gmy · Apr 25, 2012

the horizontalAlignement works fine when the size of the field is bigger than the number of chars of the string, but if it is smaller it only does the LEFT_ALIGNMENT with the setText of its creation, not with any later setText.

You could force the position of the caret to the begining of the text using:

myTextField.setCaretPosition(0);