【问题标题】:JTable Header Focus Query?JTable Header 焦点查询?
【发布时间】:2011-11-20 19:46:56
【问题描述】:

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

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

在假模式下,如果用户点击表格上或表格外的任何地方,焦点不会丢失,但是当用户点击JTable标题时,焦点会从单元格中丢失。 ..我需要限制这个...如何实现

提前谢谢你...

【问题讨论】:

  • @trashgod .. ehh ... autocreateRowSorter 与此有​​何关系?开始相信我读到了一个与其他人读到的不同的问题:-)
  • 您为什么要这样做?提供一个 sscce 来说明您描述的问题可能会有所帮助。
  • 谢谢...只是出于好奇...感谢链接@trashgod

标签: java swing jtable


【解决方案1】:

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

如果是这样,那就是

  • 一个长期存在的错误,表格在收到来自列模型的更改通知时会静默删除编辑器
  • 即使已修复,(当然可以说)也不是不允许搬出的最佳用户体验

【讨论】:

  • 拍摄到黑暗,我删除了我的帖子,那是为了通知
【解决方案2】:

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

【讨论】:

    【解决方案3】:

    这实际上可以通过禁用来实现

    table.getTableHeader().setReorderingAllowed(false); table.getTableHeader().setResizingAllowed(false);

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

    谢谢

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-30
      • 1970-01-01
      • 1970-01-01
      • 2012-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多