Esiste un metodo per restituire la posizione del carattere in JTextField. Quello che voglio dire è che ho un JTextField con alcuni valori al suo interno. Ad esempio, il campo contiene il valore ABCDEFJ. L'utente decide di posizionare il cursore subito dopo il carattere "C" per immettere un nuovo valore. Esiste un metodo per ottenere la posizione dove inserisce il nuovo carattere. In questo esempio, che sarebbe restituire un 3.Trovare la posizione del testo del cursore in JTextField
6
A
risposta
13
JTextField.getCaretPosition()
JTextField.setCaretPosition(int pos)
1
Ecco la risposta:
http://docs.oracle.com/javase/6/docs/api/javax/swing/text/JTextComponent.html#getCaretPosition%28%29
Utilizzare un ActionListener per aspettare un'azione. Quando l'utente digita qualcosa, trova la posizione del cursore.
2
Prova ad ottenere l'uso di CaretListener
interfaccia:
public class A extends JFrame implements CaretListener
{
//Assume you have a text field.
public A()
{
JTextField field = new JTextField("bla bla");
field.addCaretListener(this);
.....
}
public void caretUpdate(CaretEvent e)
{
int index = e.getDot();
.....
}
}
getDot()
metodo CaretEvent
classe restituisce il risultato desiderato, è possibile assegnare ad una variabile globale da utilizzare in seguito sopra.
Qual è l'attuale caso d'uso qui? Sembrerebbe un 'JSpinner' (o forse un' JComboBox 'modificabile) sarebbe un componente migliore da usare. –
Questa non è una buona domanda perché stai chiedendo una soluzione di codice specifica piuttosto che come implementare un comportamento. La soluzione reale al comportamento desiderato può comportare un approccio completamente diverso. Ad esempio, se stai cercando di verificare l'input di un JTextField prima che sia completo, allora forse quello che vuoi veramente usare è DocumentFilter. Quindi, in futuro, ti preghiamo di dirci di più sul problema generale che vuoi risolvere, e meno sul modo specifico in cui stai cercando di risolverlo. –