Well i basically already gave the answer :)
KeyboardFocusManager.getCurrentKeyboardFocusManager().addKeyEventDispatcher(new KeyEventDispatcher() {
@Override
public boolean dispatchKeyEvent(KeyEvent e) {
String validString = "^°1!2\"§3$4%5&6/7{(8[)9]=0}?ß\\`´q@we€rtzuiopü*+~asdfghjklöä'#<>yxcvbnmµ;,:._-";
if (e.getID() == KeyEvent.KEY_TYPED && validString.indexOf(String.valueOf(e.getKeyChar()).toLowerCase()) != -1) {
if (CardPanelView.this.cardLayout.getCurrentCard() == tabbedPane) {
CardPanelView.this.controller.callSetSearchText(Character.toString(e.getKeyChar()));
}
}
return false;
}
});