Hallo zusammen,
ich habe mir eine Klasse von
abgeleitet, in der ich direkt im Constructor einen Focus Listener setze, welcher den gesamten Text markieren soll, sobald der Focus an das Feld geht. Hier die Klasse:
Wenn ich nun folgende main-Methode ausführe:
Dann klappt das markieren beim ersten Mal anwählen ganz gut, allerdings habe ich noch folgendes Problem: Gibt es Nutzer eine Zahl ein und klickt erneut in das Textfeld, wird rein gar nichts mehr markiert ;(
Kann mir jemand von euch sagen, woran das liegt?
Danke, Gruß, Skrodde
ich habe mir eine Klasse von
Code:
JFormattedTextField
Java:
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import java.text.Format;
import javax.swing.JFormattedTextField;
import javax.swing.JTextField;
public class JFormattedTextFieldHA extends JFormattedTextField {
public JFormattedTextFieldHA() {
setFocusListener();
}
public JFormattedTextFieldHA(Object arg0) {
super(arg0);
setFocusListener();
}
public JFormattedTextFieldHA(Format arg0) {
super(arg0);
setFocusListener();
}
public JFormattedTextFieldHA(AbstractFormatter arg0) {
super(arg0);
setFocusListener();
}
public JFormattedTextFieldHA(AbstractFormatterFactory arg0) {
super(arg0);
setFocusListener();
}
public JFormattedTextFieldHA(AbstractFormatterFactory arg0, Object arg1) {
super(arg0, arg1);
setFocusListener();
}
private void setFocusListener() {
FocusListener focus_highlightAll = new FocusListener() {
@Override
public void focusGained(FocusEvent arg0) {
((JTextField)arg0.getComponent()).selectAll();
}
@Override
public void focusLost(FocusEvent arg0) {
}
};
this.addFocusListener(focus_highlightAll);
}
}
Wenn ich nun folgende main-Methode ausführe:
Java:
public static void main(String[] args) throws Exception {
JFrame testFrame = new JFrame( );
testFrame.setLayout( new FlowLayout() );
JFormattedTextFieldHA formatted1 = new JFormattedTextFieldHA(NumberFormat.getInstance());
formatted1.setText("formatted1");
testFrame.add( formatted1 );
JFormattedTextFieldHA formatted2 = new JFormattedTextFieldHA(NumberFormat.getInstance());
formatted2.setText("formatted2");
testFrame.add( formatted2 );
testFrame.pack();
testFrame.setVisible(true);
}
Kann mir jemand von euch sagen, woran das liegt?
Danke, Gruß, Skrodde