Guten Morgen Forum,
habe ein sehr komisches Problem:
habe mir folgenden Editor gebaut:
dieser besteht aus 2 Arrays mit JTextFields und 1 Array mit JFormattedTextfields (in einer Schleife erstellt)
Hier mal ein kleines Beispiel um mein Problem zu beschreiben:
wenn man nun Einen Buchstaben in das Feld eingibt, diesen wieder löscht und mit der Pfeil Taste nach Rechts geht (->) und noch mal einen Buchstaben eingibt, wird dieser geblockt, da das TF bereits mit einem Sonderbaren Zeichen gefüllt ist.
Dieses Zeichen kann ich trimmen was ja für ein "Leerzeichen" spricht, kopier ich mir dieses Zeichen jedoch in Word und lass mir mit "ALT + C" den Unicode ausgeben schlägt das Fehl, ein Leerzeichen hat aber 0020.
Also kann das auch wiederrum nicht sein.
Wer kennt dieses Problem und weiß wie man es lösen kann?!
Sobald man den Formatter nicht mehr übergibt ist dieses Problem weg, man löscht und kann nicht nach Rechts springen.
Bin sehr gespannt ob es jemand kennt. :bahnhof:
Danke euch! :toll:
habe ein sehr komisches Problem:
habe mir folgenden Editor gebaut:

dieser besteht aus 2 Arrays mit JTextFields und 1 Array mit JFormattedTextfields (in einer Schleife erstellt)
Hier mal ein kleines Beispiel um mein Problem zu beschreiben:
Code:
import java.text.ParseException;
import javax.swing.BoxLayout;
import javax.swing.JFormattedTextField;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.text.MaskFormatter;
public class MaskInputSample{
public static void main(String args[]){
JFrame frame = new JFrame("Mask Input");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JLabel label;
JFormattedTextField input;
JPanel panel;
MaskFormatter formatter;
BoxLayout layout = new BoxLayout(frame.getContentPane(), BoxLayout.Y_AXIS);
frame.setLayout(layout);
try {
label = new JLabel();
formatter = new MaskFormatter("U");
formatter.setValidCharacters("ABCDEFGHI");
//
input = new JFormattedTextField(formatter);
// input.setValue("123-45-6789");
input.setColumns(2);
panel = new JPanel();
panel.add(label);
panel.add(input);
frame.add(panel);
}
catch (ParseException e) {
System.err.println("Unable to add SSN");
}
frame.pack();
frame.setVisible(true);
}
}
wenn man nun Einen Buchstaben in das Feld eingibt, diesen wieder löscht und mit der Pfeil Taste nach Rechts geht (->) und noch mal einen Buchstaben eingibt, wird dieser geblockt, da das TF bereits mit einem Sonderbaren Zeichen gefüllt ist.
Dieses Zeichen kann ich trimmen was ja für ein "Leerzeichen" spricht, kopier ich mir dieses Zeichen jedoch in Word und lass mir mit "ALT + C" den Unicode ausgeben schlägt das Fehl, ein Leerzeichen hat aber 0020.
Also kann das auch wiederrum nicht sein.
Wer kennt dieses Problem und weiß wie man es lösen kann?!
Sobald man den Formatter nicht mehr übergibt ist dieses Problem weg, man löscht und kann nicht nach Rechts springen.
Bin sehr gespannt ob es jemand kennt. :bahnhof:
Danke euch! :toll: