PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Keine KeyEvents bei JComboBox?



Lin728
01-07-2003, 10:11
Ich versuche seit Stunden vereblich von einem JComboBox die KeyEvents zu bekommen, damit ich, wenn ENTER gedrückt wird, eine Aktion ausführen kann.

Ich kann zwar einen KeyListener hinzufügen, jedoch werden die darin eintahlten Methoden nie ausgeführt, auch wenn im Textfeld ein Buchstaben eingegeben wird.

Ist das normal und wie kann ich eventuell doch auf KeyEvents reagieren?

Mfg

SeeksTheMoon
01-07-2003, 10:49
wie hast Du es gemacht?

So funktioniert es bei einem TextField



field.addKeyListener(new TastaturListener());

--snip--

class TastaturListener extends KeyAdapter
{

public void keyReleased(KeyEvent e) {/*brauchen wir hier nicht*/}

public void keyTyped(KeyEvent e) {/*brauchen wir hier nicht*/}

public void keyPressed(KeyEvent e)
{
if(e.getKeyCode() == KeyEvent.VK_ENTER)
//tu was
} //Ende actionperformed
} //Ende actionlistener

Lin728
01-07-2003, 12:22
Ja, so funktionierts bei einem Textfield, aber nicht bei einer editierbaren JComboBox.

Ich habe einen Tipp auf den Sun-Foren gefunden, aber leider wird da eine Klasse verwendet, die ich nicht finden kann.... (BasicJComboBoxEditor)..

http://forum.java.sun.com/thread.jsp?forum=57&thread=361935

Ansonsten sieht es nach einem guten Woraround aus, weil ich so auch endlich die frabe des Textfeldes kontrollieren könnte, aber was nützt mir das, wenn ich diese doofe Klasse nicht finden kann ;-(

Mfg

bischi
01-07-2003, 15:04
public class Name
extends...
implements ItemListener
{
JComboBox cb;

public Name()
{
....

JComboBox cb = new JComboBox();
cb.addItem("Eintrag 1");
cb.addItem("Eintrag 2");
cb.addItemListener(this);
....
}

....

public void itemStateChanged(ItemEvent e)
{
if(cb.getSelectedIndex() == 0)
{
...
}
else if(cb.getSelectedIndex() == 1)
{
....
}
}
}


MfG Bischi

peschmae
01-07-2003, 15:07
die meinten wohl

javax.swing.plaf.basic.BasicComboBoxEditor

ohne J - ist für Swing

MfG Peschmä

Lin728
01-07-2003, 15:48
@bischi: Danke für deine Mühe, aber ich meine ich brauche KeyEvents, keinen ItemListener ;-)

@pschmae: Danke, genau diese klasse hab ich gesucht!


Mfg

anda_skoa
01-07-2003, 16:07
Wahrscheinlich müssten man de KeyListener am Editor der ComboBox eintragen, nicht an der Combobox selbst.

Ciao,
_

peschmae
01-07-2003, 17:54
Original geschrieben von ceisserer
@pschmae: ...

ich heisse Peschmä oder auch Peschmae aber nicht Pschmae :)

MfG Peschmä

Lin728
02-07-2003, 07:46
@Peschmä: ;-)