【问题标题】:How to have JTable staying on the edited cell如何让 JTable 停留在已编辑的单元格上
【发布时间】:2011-12-19 17:27:51
【问题描述】:

如果有人编辑 JTable 的单元格内容并按 Enter,则内容会被修改并且表格选择移动到下一行。

是否可以在单元格编辑后禁止 JTable 转到下一行

原因是我的程序使用 ListSelectionListener 在单元格选择上同步其他一些小部件,并且我不想在编辑当前单元格后选择下一行。

【问题讨论】:

    标签: java swing jtable tablecelleditor


    【解决方案1】:

    Enter 的默认绑定是名为 selectNextRowCellAction。要覆盖WHEN_ANCESTOR_OF_FOCUSED_COMPONENT 输入映射中的条目,您需要提供doNothing() Action,如How to Use Key Bindings: How to Make and Remove Key Bindings 中所建议的那样。

    【讨论】:

    • 好建议!要做的全部工作是添加对 table.getCellEditor().stopCellEditing(); 的调用。在 actionPerformed(...) 方法中。如果没有此调用,当用户按 Enter 键时,单元格将保持编辑模式。
    【解决方案2】:

    我不确定具体该怎么做,但我会调查ActionMap。您应该能够修改或替换映射到“Enter”键的操作。

    祝你好运!

    【讨论】:

      猜你喜欢
      • 2010-12-07
      • 1970-01-01
      • 1970-01-01
      • 2012-04-21
      • 2019-04-30
      • 1970-01-01
      • 2016-10-15
      • 2012-05-29
      • 2011-09-27
      相关资源
      最近更新 更多