Hallo nochmal,
ich verzweifle immernoch an dieser editierbaren Combobox.
Ich habe mal folgendes Tesprogramm geschrieben:
Nochmal kurz zu meinem ursprünglichen Anliegen: Ich habe eine Combobox in einer JTable und möchte durch Enter die Eingabe beenden (also StopCellEditing aufrufen). Dies geht nicht bei editierbaren Comboboxen. Da das Problem bei der Combobox liegt, hab ich dieses einfache Testprogramm gewählt. So wie es jetzt ist, kommt kein "funzt" und wenn ich box.setEditable(false) setze, kommt es.
Ich vermute irgendwie, dass er bei der Editierung irgendwie ein Textfeld oder sowas auf die Combobox legt. Kann das sein? Und wenn ja, wie komm ich da ran??
ich verzweifle immernoch an dieser editierbaren Combobox.
Ich habe mal folgendes Tesprogramm geschrieben:
Code:
public class GUITests extends JFrame{
public GUITests(){
super();
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
JPanel mainPanel = new JPanel();
String[]items = new String[]{"1.Hallo", "2.Test"};
JComboBox box = new JComboBox(items);
box.setEditable(true);
box.getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER,0), "StopEditing");
box.getActionMap().put("StopEditing", new AbstractAction(){
public void actionPerformed(ActionEvent e) {
System.out.println("Funzt");
}
});
mainPanel.add(box);
this.add(mainPanel);
}
public static void main(String... args){
SwingUtilities.invokeLater(new Runnable(){
public void run() {
GUITests frame = new GUITests();
frame.pack();
frame.setVisible(true);
}
});
}
}
Nochmal kurz zu meinem ursprünglichen Anliegen: Ich habe eine Combobox in einer JTable und möchte durch Enter die Eingabe beenden (also StopCellEditing aufrufen). Dies geht nicht bei editierbaren Comboboxen. Da das Problem bei der Combobox liegt, hab ich dieses einfache Testprogramm gewählt. So wie es jetzt ist, kommt kein "funzt" und wenn ich box.setEditable(false) setze, kommt es.
Ich vermute irgendwie, dass er bei der Editierung irgendwie ein Textfeld oder sowas auf die Combobox legt. Kann das sein? Und wenn ja, wie komm ich da ran??