如何在 JTable 中使用箭头键移动行选择?
我注意到,只有当我按 Tab 键时,才可以使用箭头来移动 JTable 对象的行选择。通过鼠标单击选择行后是否可以使用箭头(而不是使用 TAB)?
I noticed that I can you arrows to move row selection of my JTable object only when I press tab key. Is it possible to use arrows after row selection by mouse-click (instead of using TAB)?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
为了让箭头键更改行选择,JTable 必须具有焦点。按
tab
键将焦点更改为页面上的下一个(或第一个)“可聚焦”组件,该组件可能是 JTable 中的子组件。要使其在可见时自动聚焦,请添加 ComponentListener 实现了一个
componentShown(...)
方法来调用 JTable 的requestFocusInWindow()
方法。是;如果您在一行上单击鼠标,也应该聚焦该行,从而允许您也使用箭头键。
更新:更正了用于获取输入焦点的方法,感谢camickr(请参阅评论)
In order for the arrow keys to change row selection, the JTable must have focus. Pressing the
tab
key changes focus to the next (or first) "focussable" Component on the page which is likely a SubComponent in the JTable.To get it to focus automatically when it becomes visible, add a ComponentListener with the an
componentShown(...)
method implemented to call the JTable'srequestFocusInWindow()
method.Yes; if you click the mouse on a row, that should also focus the row, allowing you to use the arrow keys as well.
Updated: corrected method used to get input focus, with thanks to camickr (see comments)