Krain Geschrieben 14. August 2002 Geschrieben 14. August 2002 Hi Wie bekomme ich den Rahmen des JTextField weg? Wie kann ich ein JTextField so formatieren, dass nur eine bestimmte Anzahl an Zeichen eingegeben werden kann - bzw. sogar, dass man nur Ziffern oder bestimmteZeichen angeben kann? Danke im voraus Zitieren
Isdira Geschrieben 15. August 2002 Geschrieben 15. August 2002 Hallo, du musst nur einen KeyListener hinzufügen wie unten: txtDBName.addKeyListener(new java.awt.event.KeyAdapter() { public void keyTyped(KeyEvent e) { textfield_keyTyped(e); } }); void textfield_keyTyped(KeyEvent e) { if(txtDBUser.getText() < 10) { if(e.getKeyCode() != KeyEvent.VK_BACK_SPACE || e.getKeyCode() != KeyEvent.VK_DELETE) { e.consume(); } } } hier wird abgefragt, ob die Länge des Textes 10 Zeichen überschreitet und die eingegeben Zeichen nicht BackSpace oder delete sind. Ist es ein normales Zeichen, dann wird der Buchstabe nicht angenommen. Du musst dann nur die zweite IF-Abfrage so ändern, dass es für Dich passt, und dann sollte das klappen... Gruss, Katja Zitieren
derSchlemm Geschrieben 15. August 2002 Geschrieben 15. August 2002 Tach. Um den Rand eines JTextField wegzubekommen mach einfach folgendes: ... JTextField txtField = new JTextField(); txtField.setBorder(BorderFactory.createEmptyBorder()); ... Das sollte es eigentlich gewesen sein... so long schlemm Zitieren
ExAzubi Geschrieben 15. August 2002 Geschrieben 15. August 2002 Hi ich mache mir in solchen Fällen lieber ein neues Document: z.B. public class myDocument extends PlainDocument { private int maxLength = 9999; public FixedNumericDocument(int maxLength) { super(); this.maxLength = maxLength; public void insertString(int offset, String str, AttributeSet attr) throws BadLocationException { if (getLength() + str.length() > maxLength) { Toolkit.getDefaultToolkit().beep(); return; } else { super.insertString(offset, str, attr); } In der IF-Abfrage prüft er zuerst, ob der neu einzufügende String nicht mit dem alten zusammen die maLänge uberschreitet, wenn ja machts beep, ansonsten fügt er in ein. Mann kann noch viel mehr an prüfungen einbauen. Das Document hat den Vorteil, halt nur einmal da, mehrfach verwendbar, und hat nicht den Nachteil des KeyListener, denn wenn man da sehr schnell den Text eingibt und wieder löscht, dann kann er schon mal durcheinander kommen. Zitieren
Krain Geschrieben 16. August 2002 Autor Geschrieben 16. August 2002 Danke - ihr habt mir alles sehr geholfen Ich hoffe ich kann euch mal ebenso behilflich sein! Ciao Krain Zitieren
mamamia Geschrieben 20. August 2002 Geschrieben 20. August 2002 hallo.. mit der neuen api 1.4 wird es noch viel viel einfacher.. da gibt es jetzt ein JFormattedTextField() und einen MaskFormatter() du willst 10 Zeichen ok: MaskFormatter Maske = new MaskFormatter("**********"); JFormattedTextField Eingabe = new JFormattedTextField(Maske); ; die "*" stehen für jedes Zeichen ( ? = Buchstabe, # = Zahl usw ) 2 ganze Zeilen.. also dann.. mfg mamamia Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.