hi!
ich benötige für Buttons Shortcuts auf die Ziffern 0 - 9.
für die normalen Zahlen funktioniert es auch schon aber leide nicht beim Ziffernblock.
für die normalen Tasten hab ichs so gemacht:
Hab dann im Netz gelesen das mit KeyListener und den Methoden keyTyped() auch die normalen Tasten abgefragt werden können und mit keyPressed() auch die Ziffern des Ziffernblocks. Nur bei mir funktioniert das leider nicht!
Vielleicht kann mir wer helfen und mir sagen was ich falsch mache?
Am besten wäre ein Code der sowohl für die normalen als auch die NumPad Tasten funktioniert?
ich benötige für Buttons Shortcuts auf die Ziffern 0 - 9.
für die normalen Zahlen funktioniert es auch schon aber leide nicht beim Ziffernblock.
für die normalen Tasten hab ichs so gemacht:
Java:
// ShortCut '1' für den Button Feuern1
btFire1.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke("1"), "fire1");
btFire1.getActionMap().put("fire1", new AbstractAction()
{
@Override
public void actionPerformed(ActionEvent e)
{
onFire1(e);
}
});
Hab dann im Netz gelesen das mit KeyListener und den Methoden keyTyped() auch die normalen Tasten abgefragt werden können und mit keyPressed() auch die Ziffern des Ziffernblocks. Nur bei mir funktioniert das leider nicht!
Vielleicht kann mir wer helfen und mir sagen was ich falsch mache?
Am besten wäre ein Code der sowohl für die normalen als auch die NumPad Tasten funktioniert?
Java:
public class ManuellGUI extends javax.swing.JFrame
{
/** Creates new form ManuellGUI */
public ManuellGUI()
{
initComponents();
super.setLocation(20, 100);
ShortCuts shcut = new ShortCuts();
}
private class ShortCuts
implements KeyListener
{
public ShortCuts()
{
addKeyListener(this);
}
public void keyTyped(KeyEvent event)
{
char taste = event.getKeyChar();
switch(taste)
{
case 0: new AbstractAction()
{
@Override
public void actionPerformed(ActionEvent e)
{
onFire10(e);
}
};
break;
case 1: new AbstractAction()
{
@Override
public void actionPerformed(ActionEvent e)
{
onFire1(e);
}
};
break;
}
}
public void keyPressed(KeyEvent event)
{
int key = event.getKeyCode();
switch(key)
{
case 0: new AbstractAction()
{
@Override
public void actionPerformed(ActionEvent e)
{
onFire10(e);
}
};
break;
case 1: new AbstractAction()
{
@Override
public void actionPerformed(ActionEvent e)
{
onFire1(e);
}
};
break;
}
}
public void keyReleased(KeyEvent e)
{
System.out.println("taste wurde gedrückt");
}
}
}