我成功地在具有ActionListener的JTextField上使用postActionEvent()来模拟用户操作(按Enter键)。我想为具有ActionListener的JComboBox创建相同类型的模拟,但我没有找到JComboBox的postActionEvent()。这(模拟用户按Enter键)是如何完成的?
这(模拟用户按Enter键)是如何实现的?
Combobox有一个"尽管如此"
Action。因此,您应该能够从组合框的ActionMap
访问Action
,然后手动调用Action的actionPer的(…)
方法。
查看程序的键绑定以列出所有Swing组件的所有绑定。
您还可以使用KeyListener:
addKeyListener(new KeyAdapter() {
@Override
public void keyReleased(KeyEvent event) {
if (event.getKeyChar() == KeyEvent.VK_ENTER) {
if (((JTextComponent) ((JComboBox) ((Component) event
.getSource()).getParent()).getEditor()
.getEditorComponent()).getText().isEmpty())
System.out.println("please dont make me blank");
}
}
});
看这个问题