JTable标题焦点查询?

时间:2011-09-20 06:50:00

标签: java swing jtable

这个场景可能听起来很傻......但这是观察......

当鼠标单击JTable单元时... Cell进入编辑器模式,而在编辑器中进行无效输入(每个单元格中安装了JTextFeild组件),通过返回false而不是super.return stopCellEditing(),在编辑器模式下限制焦点;验证和测试字段涂成红色。

在虚假模式下,如果用户点击桌面上或桌子外的任何位置,焦点不会丢失,但当用户点击 JTable标题时,焦点会从单元格中丢失。我需要限制这个......如何实现呢?

提前谢谢你......

3 个答案:

答案 0 :(得分:2)

只是为了确保:在这种情况下编辑被取消(虽然不完全是点击,但是在任何可能被解释为开始列移动/调整大小的鼠标手势上,如果我没记错的话),对吧?

如果是,那就是

  • 一个长期存在的错误,表默默地从列模型
  • 接收更改通知时删除编辑器
  • 即使是固定的,(当然,可以说)也不是最好的用户体验,不允许搬出

答案 1 :(得分:2)

您可以查看@ camickr的TablePopupEditor,它使用模态对话框进行编辑。

答案 2 :(得分:1)

实际上可以通过禁用

来实现

<强> table.getTableHeader()setReorderingAllowed(假)。 table.getTableHeader()setResizingAllowed(假);

目前正在运作,但不知道在什么情况下可能会失败。

谢谢