我在以<,< =,>,> =,〜,/,%和^开头的组合框中有价值。所以基本上我正在做的是当用户按下该combox上的tab并输入任何键然后根据keypressed的第一个字母生成组合框结果。 我已成功管理所有数字,字母键和<,< =,>,> =,〜键但无法获取%,/和^。
以下是在班次组合
上获得所有上述特殊击键的代码List<String> combination = Arrays.asList("<","<=",">",">=","~","?");
for(String keyComb : combination) {
KeyCharacterCombination keyCombo = new KeyCharacterCombination(keyComb, KeyCombination.SHIFT_DOWN);
if(keyCombo.match(event)) {
System.out.println("in key combination");
String key = keyCombo.getCharacter();
String pastString = null;
ComboBox<String> comboBox = (ComboBox<String>) event
.getSource();
pastString = comboBox.getValue();
ObservableList<String> traversalItems = comboBox.getItems();
comboBox.setValue(getSelectedItem(key, pastString,
traversalItems));
}
}
答案 0 :(得分:0)
将%
视为SHIFT
+ DIGIT5
。
所以(也许)你应该使用KeyEvent.KEY_TYPED
事件监听器而不是键组合。