Hallo,
ich versuche mich gerade daran eine Eingabemaske zu erstellen in der ich später eine Mac-Addresse von einer Netzwerkkarte eingeben kann. Ich hatte mich dabei bis jetzt versucht nach dieser Seite zu richten und habe bis jetzt folgenden Quellcode verbrochen:
Allerdings weigert sich das Programm bis jetzt die entsprechende Eingabe länge zu begrenzen bzw. einige Zeichen von der Eingabe auszuschließen. Da ich im moment leider ziemlich ratlos bin woran es noch liegen könnte wäre ich über einen entsprechenden Hinweis auf jeden Fall sehr dankbar.
Viele Grüsse
Dan
ich versuche mich gerade daran eine Eingabemaske zu erstellen in der ich später eine Mac-Addresse von einer Netzwerkkarte eingeben kann. Ich hatte mich dabei bis jetzt versucht nach dieser Seite zu richten und habe bis jetzt folgenden Quellcode verbrochen:
Code:
public class Oberflaeche
extends JFrame
implements KeyListener
{
// Definition der Textfelder
private JTextField tfMac=new JTextField(17);
// Definition der Labels
private JLabel lMac=new JLabel("MAC-Adresse");
// Definition des Buttons
private JButton send=new JButton("senden");
public Oberflaeche()
{
super("Test");
JPanel panel = new JPanel();
panel.setLayout(new GridLayout(6, 1));
tfMac.addKeyListener(this);
panel.add(lMac);
panel.add(tfMac);
panel.add(lIP);
panel.add(send);
getContentPane().add(panel,"Center");
}
public void keyPressed(KeyEvent e)
{
Object o = e.getSource();
if(o instanceof TextField)
{
JTextField tf = (JTextField)o;
if(tf == tfMac)
{
int keycode = e.getKeyCode();
if(tf.getText().length() >= 3)
{
switch (keycode)
{
case KeyEvent.VK_ENTER:
case KeyEvent.VK_BACK_SPACE:
case KeyEvent.VK_DELETE:
case KeyEvent.VK_LEFT:
case KeyEvent.VK_RIGHT:
return;
default:
break;
}
e.consume();
}
else
{
switch (keycode)
{
case KeyEvent.VK_ENTER:
case KeyEvent.VK_BACK_SPACE:
case KeyEvent.VK_DELETE:
case KeyEvent.VK_LEFT:
case KeyEvent.VK_RIGHT:
case KeyEvent.VK_0:
case KeyEvent.VK_1:
case KeyEvent.VK_2:
case KeyEvent.VK_3:
case KeyEvent.VK_4:
case KeyEvent.VK_5:
case KeyEvent.VK_6:
case KeyEvent.VK_7:
case KeyEvent.VK_8:
case KeyEvent.VK_9:
return;
default:
break;
}
e.consume();
}
}
}
}
public void keyReleased(KeyEvent e)
{}
public void keyTyped(KeyEvent e) {}
Allerdings weigert sich das Programm bis jetzt die entsprechende Eingabe länge zu begrenzen bzw. einige Zeichen von der Eingabe auszuschließen. Da ich im moment leider ziemlich ratlos bin woran es noch liegen könnte wäre ich über einen entsprechenden Hinweis auf jeden Fall sehr dankbar.
Viele Grüsse
Dan