【发布时间】:2012-05-01 17:41:46
【问题描述】:
在 Java SWING 中,“Tab”key 在所有 components 之间全局传输 focus。是否可以以某种方式修改这种“默认”行为?
所以不是让“Tab”key 更改 focus,我想要“Enter”键来做。
提前致谢!
【问题讨论】:
标签: java swing focus jtextfield
在 Java SWING 中,“Tab”key 在所有 components 之间全局传输 focus。是否可以以某种方式修改这种“默认”行为?
所以不是让“Tab”key 更改 focus,我想要“Enter”键来做。
提前致谢!
【问题讨论】:
标签: java swing focus jtextfield
改变focusTraversalSystem 需要做很多工作。我建议在面板上添加一个actionListener,它包含所有swing组件并检查按下的键是否输入只需将焦点更改为具有tabFocus变量+ 1的下一个元素(您需要将组件放入数组中循环或使用本机摇摆方法(如果适用)。
【讨论】:
我确信通过使用
1)KeyBindings你可以做到这一点非常简单和最安全的方式
2) 你可以通过方法Component#getOppositeComponent() 在窗口中使用Focus 获取最后一个Component, J/Component
不需要Array 或SwingUtilities,也许Z-Order 可以默认执行此操作,但并非所有Look and Feels 都支持
【讨论】: