JComboBox Komma in Punkt umwandeln

Status
Nicht offen für weitere Antworten.

tapioca

Mitglied
Hi,

ich habe ein Problem bei einer JComboBox. Sobald man die ComboBox angewählt hat soll man durch Eingabe der Tastatur das gesetzte Item wählen können. Des funktioniert auch automatisch, aber wenn ich nun so etwas auswählen möchte "Bla47.8" müsste ich nach dem Bla47 einen Punkt machen ich möchte jedoch, dass man auch ein Komma benutzen kann welches dann intern in einen Punkt umgewandelt wird ich habe dies mit einem KeyListener versucht aber es funktioniert trotzdem nicht hat jemand eine Idee???

Code:
JComboBox box = new JComboBox
box.addKeyListener(new KeyListener() {
                       
                        public void keyTyped(KeyEvent e) {

                                if (e.getKeyCode()== KeyEvent.VK_SEPARATOR) {
                                log.info("Komma erkannt");
                                e.setKeyCode(KeyEvent.VK_PERIOD);
                        } else if (e.getKeyCode()== KeyEvent.VK_COMMA) {
                                log.info("Komma2 erkannt");
                                e.setKeyCode(KeyEvent.VK_PERIOD);
                        } else if (e.getKeyCode()== KeyEvent.VK_DECIMAL) {
                                    log.info("Komma3 erkannt");
                                    e.setKeyCode(KeyEvent.VK_PERIOD);
                        }

                    }
                        public void keyPressed(KeyEvent e) {
                        if (e.getKeyCode()== KeyEvent.VK_SEPARATOR) {
                                log.info("Komma erkannt");
                                e.setKeyCode(KeyEvent.VK_PERIOD);
                        } else if (e.getKeyCode()== KeyEvent.VK_COMMA) {
                                log.info("Komma2 erkannt");
                                e.setKeyCode(KeyEvent.VK_PERIOD);
                        } else if (e.getKeyCode()== KeyEvent.VK_DECIMAL) {
                                    log.info("Komma3 erkannt");
                                    e.setKeyCode(KeyEvent.VK_PERIOD);
                        }
                       
                        }
                       
                        public void keyReleased(KeyEvent e) {
                    }
                });

Danke im Voraus
 
Geht es Dir dabei um die KeySelection (Siehe: JComboBox.setKeySelectionManager(JComboBox.KeySelectionManager))? Dann hilft vielleicht dieser Code: [Highlight=Java]final KeySelectionManager orgKSM = box.getKeySelectionManager();
box.setKeySelectionManager(new JComboBox.KeySelectionManager() {

public int selectionForKey(char key, ComboBoxModel model) {
switch (key) {
case ',':
key = '.';
}
return orgKSM.selectionForKey(key, model);
}
});[/Highlight]
Ebenius
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben