@Override
public AbstractButton getComponent(VirtualKeyListener vkListener, final VKeyboard keyboard)
{
AbstractButton button;
KeyboardButton kButton = null;
ToggleKeyboardButton toggleButton = null;
switch (key.toLowerCase())
{
case CAPSLOCK: // Caps Look
toggleButton = new ToggleKeyboardButton(fontName, keyFontSize, getKeyCode(), getKeyChar());
toggleButton.setIcon(new Capslock(32, 32));
toggleButton.addVirtualKeyListener(vkListener);
button = toggleButton;
break;
case ALT: // alt
toggleButton = new ToggleKeyboardButton(fontName, keyFontSize, getKeyCode(), getKeyChar());
toggleButton.setText(textToShow);
toggleButton.addVirtualKeyListener(vkListener);
button = toggleButton;
if (keyboard.getAltModel() == null)
keyboard.setAltModel(button.getModel());
else
button.setModel(keyboard.getAltModel());
break;
case ALTGR: // Alt-Gr
toggleButton = new ToggleKeyboardButton(fontName, keyFontSize, getKeyCode(), getKeyChar());
toggleButton.setText(textToShow);
toggleButton.addVirtualKeyListener(vkListener);
button = toggleButton;
if (keyboard.getAltgrModel() == null)
keyboard.setAltgrModel(button.getModel());
else
button.setModel(keyboard.getAltgrModel());
break;
case SHIFT: // left shift
toggleButton = new ToggleKeyboardButton(fontName, keyFontSize, getKeyCode(), getKeyChar());
toggleButton.setIcon(new Shift(32, 32));
toggleButton.addVirtualKeyListener(vkListener);
button = toggleButton;
if (keyboard.getShiftModel() == null)
keyboard.setShiftModel(button.getModel());
else
button.setModel(keyboard.getShiftModel());