Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

JTextField-Formatierung

Empfohlene Antworten

Veröffentlicht

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

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

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

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.

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

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.