2012-04-25 29 views
5

Ho un numero lungo String che desidero visualizzare in un JTextField. Se il String è troppo lungo, si sta mostrando il diritto-porzione di String, piuttosto che la parte di sinistra, anche quando uso setHorizontalAlignment(JTextField.LEFT)JTextField: come impostare il testo a sinistra di JTextField quando il testo è troppo lungo

Per esempio, se il mio String è "ad esempio JTextField, questo testo è troppo lungo ", dovrebbe mostrare come ...

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

ma invece mostra come ...

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

qualcuno potrebbe suggerire come questo può essere difficoltà ed.

+8

È possibile utilizzare 'setCaretPosition (0)' per impostare la posizione sul lato sinistro del 'JTextField' ma in Per essere in grado di scorrere devi aggiungere il 'JTextField' a un' JScrollPane' – twain249

+1

@ twain249: Perché non metterlo come risposta? Troppo bello, funzionerà come previsto :-) –

+1

@ twain249: anche senza un 'JScrollPane',' JTextField' può scorrere usando i tasti freccia sinistra e destra; anche 'setScrollOffset()' sembra promettente. – trashgod

risposta

8

l'orizzontaleAlignement funziona correttamente quando la dimensione del campo è maggiore del numero di caratteri della stringa, ma se è più piccola esegue solo LEFT_ALIGNMENT con il setText della sua creazione, non con alcun successivo setText.

Si potrebbe forzare la posizione del cursore per l'inizio del testo utilizzando:

myTextField.setCaretPosition(0); 
Problemi correlati