我对 Swing 的 JTable 有疑问。单元格似乎有不同的编辑模式;一种用于单击,另一种用于双击。
请参阅以下示例以更准确地理解问题:
当我只需单击一个单元格并开始输入时,我可以简单地使用 KeyListener
来使用 KeyEvent
检测输入。每当我使用键盘键入一个键时,该事件就会被触发。
但是当我双击一个单元格时,它会以某种方式使用不同的编辑模式来抑制KeyEvents
,以便KeyListener
永远不会被告知键盘交互。
是否有任何选项可以禁用此“第二”编辑模式或也为此编辑模式注册 KeyListener
?
最佳答案
不要使用 KeyListener。这是在旧的 AWT 应用程序中使用的。 Swing 拥有更新更好的 API
不知道您为什么要尝试使用 KeyListener,但在 Swing 中您可能会使用:
- 文档过滤器
- 文档监听器
阅读 Text Component Features 上的 Swing 教程了解更多信息。
所以你需要
- 获取该专栏的编辑器
- 从编辑器获取编辑器组件
阅读 JTable 和 TableCellEditor 的 API 以了解适当的方法。
关于java - Swing 中的 JTable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43677155/