【发布时间】:2012-05-06 16:06:38
【问题描述】:
我有一个特殊的要求:
我有一个“创建新对象”模式对话框,其中包含许多字段和“确定”和“取消”按钮。我希望确定按钮具有焦点,因此用户可以简单地调用对话框并按 Enter 以创建具有默认值的新对象。我尝试调用requestFocusInWindow(),但在实际显示窗口之前它不起作用。显示窗口后我无法调用它,因为对话框是模态的。而且对话框类上没有setInitialFocusedComponent()这样的方法。
好的,然后我继续为对话框中的每个字段创建一个KeyListener(只有 3 个,没什么大不了的),如果用户在它们上按 Enter,它将手动按下 OK 按钮。现在的问题是第一个字段(因此也是焦点字段)是JSpinner,它使用自己的KeyEvents。所以按 Enter 没有任何作用。
如何在不重新组织元素的情况下在我的对话框中实现这种“Enter to OK”行为?
【问题讨论】: