# JTextfield -> Text ausrichtung wenn der Text zu lang ist



## desmoloch (2. September 2004)

hi!

hab ein Problem mit einem JTextfield. Ich weiss nicht wieviel in das Textfield eingetragen wird (Eintrag durch auslesen aus einer DB). 
Es ist ein Adressenfeld und es kann einfach sehr lang sen. 
Es gibt eine Standardgröße. Wenn diese aber nicht ausreicht, wird der Text eingetragen und nach RECHTS ausgerichtet. Das heisst man sieht das ENDE von der Adresse, der Anfang ist nur sichtbar wenn man das Feld markiert und mit der Maus nach links zieht.
Ich finde leider auch keine Eigenschaft, die vom Feld vorgibt immer den Text von links beginnend anzuzeigen... 

hier die Eigenschaften des Feldes:


```
txt_Firma1.setEditable(false);
      txt_Firma1.setBackground(hellorange);
      txt_Firma1.setBorder(BorderFactory.createEmptyBorder());
      txt_Firma1.setSelectionColor(selColor);
      txt_Firma1.setHorizontalAlignment(JTextField.LEFT); <- Test, LEFT ist eh standard...
      txt_Firma1.setSelectionStart(0);  <- Test (keine Auswirkung)
      txt_Firma1.setScrollOffset(0); <- Test (keine Auswirkung)
```

wer schön wenn jemand rat wüsste 
Google kann mir auch nicht helfen 

mfg Desmo


----------



## Thomas Darimont (2. September 2004)

Hallo!

Schau mal hier:

```
import java.awt.BorderLayout;

import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JTextField;

public class JTextDemo extends JFrame {

	private JTextField txt;

	public JTextDemo() {
		super("JTextDemo");
		setDefaultCloseOperation(EXIT_ON_CLOSE);
		txt = new JTextField(10);
		txt.setEditable(false);
		txt.setBorder(BorderFactory.createEmptyBorder());
		txt.setHorizontalAlignment(JTextField.LEFT);
		txt.setText("ABCDEFGHIJKLMNOPQRSTUVWXYZ");
		getContentPane().add(txt, BorderLayout.CENTER);
		/* Der Text steht bei mir (J2SDK 1.4.2) zwar immer Linksbeginnend im
		 * Textfeld falls das bei dir jedoch nicht Fall sein sollte hilft dir 
		 * vielleicht das hier: 
		 */
		txt.setCaretPosition(0);

		pack();
		setVisible(true);
	}

	public static void main(String[] args) {
		new JTextDemo();
	}
}
```

Gruß Tom


----------



## desmoloch (2. September 2004)

danke das setCaretPosition hat mir gefehlt 

hatte ich zwar versucht, aber ich muss das machen NACHDEM das textfeld anhand der datenbank gefüllt wurde. Hatte es vorher bei der Textfeld deklaration, aber durch das füllen wurde das wieder überschrieben 
Ich mach das nun nach dem füllen und es klappt.

Danke!


----------

