提问者:小点点

是否有JComboBox的postActionEvent?


我成功地在具有ActionListener的JTextField上使用postActionEvent()来模拟用户操作(按Enter键)。我想为具有ActionListener的JComboBox创建相同类型的模拟,但我没有找到JComboBox的postActionEvent()。这(模拟用户按Enter键)是如何完成的?


共2个答案

匿名用户

这(模拟用户按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");
        }
    }
});

看这个问题