Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 摇摆中的JTable_Java_Swing_Jtable - Fatal编程技术网

Java 摇摆中的JTable

Java 摇摆中的JTable,java,swing,jtable,Java,Swing,Jtable,关于Swing的JTable,我有个问题。看起来单元格有不同的编辑模式;一个用于单击,另一个用于双击 请参见以下示例以更准确地理解问题: 当我只需单击一个单元格并开始键入时,我可以简单地使用KeyListener来使用KeyEvent检测输入。每当我使用键盘键入一个键时,就会触发该事件 但是,当我双击一个单元格时,它不知何故使用了一种不同的编辑模式,该模式会抑制KeyEvents,这样keylister就不会被告知键盘交互 是否有任何选项可以禁用此“第二个”编辑模式,或者也可以为此编辑模式注

关于Swing的JTable,我有个问题。看起来单元格有不同的编辑模式;一个用于单击,另一个用于双击

请参见以下示例以更准确地理解问题:

当我只需单击一个单元格并开始键入时,我可以简单地使用
KeyListener
来使用
KeyEvent
检测输入。每当我使用键盘键入一个键时,就会触发该事件

但是,当我双击一个单元格时,它不知何故使用了一种不同的编辑模式,该模式会抑制
KeyEvents
,这样
keylister
就不会被告知键盘交互


是否有任何选项可以禁用此“第二个”编辑模式,或者也可以为此编辑模式注册一个
KeyListener

不要使用KeyListener。这在旧的AWT应用程序中使用。Swing有更新更好的API

不知道您为什么尝试使用KeyListener,但在Swing中,您可能会使用:

  • 文档过滤器
  • 文档监听器
  • 有关详细信息,请阅读上的Swing教程

    所以你需要

  • 获取该列的编辑器
  • 从编辑器中获取编辑器组件

  • 阅读JTable和TableCellEditor的API以了解适当的方法。

    为什么在XxxTableCellEditor中添加了一个低级KeyListener,提示DocumentListener/Filter被指定用于侦听JTextComponents中编辑的更改,以便更快地发布SSCCE/MCVE、short、RUNABLE、,可使用局部变量中JTable/XxxTableModel的硬编码值进行编译