03. september 2008 - 22:50
Der er
8 kommentarer
Begræns input i textfield og auto focus næste
Jeg 4 tekstfields som hver indeholder de fire dele i et cprnr, altså dd mm åå xxxx. Hvordan gør jeg sådan at focus automatisk bliver flyttet fra t1 over til t2 når der er indtastet de første 2 cifre i cpr nummeret? Og er det muligt at begrænse et textfield, så der kun er mulighed for brugeren, at taste eksempelvis 2 cifre ind i et textfield? Håber der er nogen der har en hurtig og nem løsning :)
Annonceindlæg fra SoftwareOne
03. september 2008 - 22:53
#1
Det er nu ikke noget du skal bruge Java til. Javascript formentlig. Det sidste er nemt: <input type="text" ... size="2">
03. september 2008 - 23:08
#2
Hmmm, nu har jeg aldrig brugt Javascripts før, så er det ikke muligt at kode det i java?
04. september 2008 - 00:39
#3
erik> Jeg tror faktisk at nicklas sidder og koder i Java Swing ikke i HTML / JavaScript. :-)
04. september 2008 - 00:40
#4
nicklas> Selvfølgelig kan du det. Jeg gætter på at du skal have en listener af en slags på feltet og så lade den skifte fokus hvis feltet er færdigt.
04. september 2008 - 08:43
#5
Ja, det ku' jo være ;)
04. september 2008 - 09:50
#6
Ok, det er jeg glad for at jeg kan :) Og jeg havde lidt tænkt på at jeg nok skulle bruge en listener, men hvordan gør jeg det? Har ikke lige prøvet at kode sådan en før. Hvordan skal den formes og hvor skal den ligge? Nogle eksempler?
05. september 2008 - 04:37
#7
Sådan noget har jeg ikke forstand på, men her er en metode: import java.awt.AWTException; import java.awt.GridLayout; import java.awt.Robot; import java.awt.event.KeyEvent; import javax.swing.JFrame; import javax.swing.JTextField; import javax.swing.SwingUtilities; import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentListener; public class AutoMover extends JFrame implements DocumentListener { private JTextField tf1; private JTextField tf2; private JTextField tf3; private JTextField tf4; public AutoMover() { setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); getContentPane().setLayout(new GridLayout(1,4)); tf1 = new JTextField(); getContentPane().add(tf1); tf1.getDocument().addDocumentListener(this); tf2 = new JTextField(); getContentPane().add(tf2); tf2.getDocument().addDocumentListener(this); tf3 = new JTextField(); getContentPane().add(tf3); tf3.getDocument().addDocumentListener(this); tf4 = new JTextField(); getContentPane().add(tf4); pack(); } @Override public void changedUpdate(DocumentEvent e) { // nothing } @Override public void insertUpdate(DocumentEvent e) { if(e.getDocument().getLength() >= 2) { try { Robot robot = new Robot(); robot.keyPress(KeyEvent.VK_TAB); } catch (AWTException e1) { } } } @Override public void removeUpdate(DocumentEvent e) { // nothing } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { JFrame f = new AutoMover(); f.setVisible(true); } }); } }
28. oktober 2008 - 23:41
#8
all set ?
Kurser inden for grundlæggende programmering