JTextField | Text auswählen und Caret setzen

Dit_

Bekanntes Mitglied
Hallo!

In einem RenameDialog gibt es ein JTextField. Wenn das Dialog angezeigt wird, hätte ich gern dass der alte Name in dem Feld steht, selektiert ist und der Cursor am Ende des Wortes steht und blinkt.

Wie mache ich das?

sobald ich setCaretPosition aufrufe verschwindet die Auswahl... :rtfm:

Danke schon mal.

😳
 
Hab ich ja noch nie gesehen so etwas, dass gleichzeitig der Text selektiert ist und ein Cursor blinkt. Meiner Meinung nach geht beides gleichzeitig nicht und widerspricht sich auch ein bisschen bzw. macht keinen Sinn. Entweder willst du den Text selektieren, weil du einfach statt dem Text was anderes eingeben möchtest, oder du willst hinten an den Text etwas dranschreiben.

Ist halt auch das normale Verhalten von Textfeldern, dass wenn ein Text selektiert ist und ich mit der Maus oder per Tastatur den Cursor ans Ende setze, dass dann die Selektion verschwindet.
 
Zuletzt bearbeitet von einem Moderator:
Was soll denn dann passieren wenn der User was eingibt? Soll der Text dann angehängt werden oder wird der Text überschrieben????:L
 
😱 das sehe ich eigentlich andauernd in Windows zB. :bahnhof:
Klickt mal 2 Mal auf eine Datei um diese zu umbenennen...

Es geht darum, dass sobald der Benutzer eine Buchstabe eintippt, soll das ausgewählte Wort durch diese Buchstabe ersetzt werden. Oder wenn man Pfeil-Tasten drückt bleibt das Wort, Auswahl wird aber aufgehoben.

😳
 
Zuletzt bearbeitet:
Dadurch wird das ja erst zum Textfeld, welches du ändern kannst... Und dann hast du auch nicht beides gleichzeitig, selektiert und Cursor am Ende.

Doch hat man...

Aber bei mir geht das???
Java:
public class TestWidget {
 
    private JFrame frame;
 
    public TestWidget() {
        frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        JTextField jTextField = new JTextField("Hallo");
        jTextField.setCaretPosition(jTextField.getText().length());
        jTextField.selectAll();
        frame.add(BorderLayout.CENTER, jTextField);
        frame.setSize(480, 640);
        frame.setVisible(true);
        
    }
    
    public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException, UnsupportedLookAndFeelException {
    	UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
		new TestWidget();
	}

}
 
na bitte geht doch :bae:

danke

P.S.
Schließen-Schaltfläche bekam den Focus bei mir... deswegen war Cursor nicht sichtbar glaube ich... 😳
 

Zurück
Oben