07. juni 2004 - 10:46
Der er
6 kommentarer og 1 løsning
Max. antal karakterer i TextField
Mit spørgsmål går på om man kan lave en Exception, der melder fejl hvis brugeren har indtastet mere end 4 TAL i et TextField, hvorefter brugeren får besked herom. Evt. også en hvor det kun er tal der accepteres, således at hvis man skriver et bogstav, så melder den straks fejl.
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
Jeg har noget til at ligge... finder det lige...
prøv: final JTextField t = new JTextField(); t.addKeyListener(new KeyListener() { public void keyPressed(KeyEvent e) { int code = e.getKeyCode(); if ((code > KeyEvent.VK_9 || code < KeyEvent.VK_0) && code != KeyEvent.VK_BACK_SPACE) { JOptionPane.showMessageDialog(null, "Kun tal"); t.setText(""); } if (t.getText().length() >= 4 && code != KeyEvent.VK_BACK_SPACE) { JOptionPane.showMessageDialog(null, "Ikke mere end 4 cifre"); String text = t.getText(); text = text.substring(0,4); t.setText(text); } } public void keyTyped(KeyEvent e) {} public void keyReleased (KeyEvent e) {} });
Her er en klasse, som sørger for, at der kun kan indtastes tal: import java.awt.*; import java.awt.event.*; import javax.swing.*; public class NumberTextField extends JTextField implements KeyListener { NumberTextField(){this(4);} NumberTextField(int sendSize) { super(sendSize); this.addKeyListener(this); } public void keyPressed (KeyEvent ke) {} public void keyReleased(KeyEvent ke){} public void keyTyped(KeyEvent ke){ if(((ke.getKeyChar() < '0') || (ke.getKeyChar() > '9')) && (ke.getKeyChar() != ke.VK_DELETE) && (ke.getKeyChar() != ke.VK_BACK_SPACE) && (ke.getKeyChar() != ke.VK_ENTER) ) { {System.out.println("e"); ke.consume();} } } } Du bruger altså klassen ved at sige NumberTextField textfield = new NumberTextField() this(4) indikerer, at det maks er 4 tal. Håber det kan bruges, mvh Torben
Perfekt - mange, mange tak! Kast et svar og du får point!
Bare dig Mikkel, siden du henvender dig først... :) Men jeg vil sige at begge eksempler er lige hvad jeg ledte efter!
Kurser inden for grundlæggende programmering