我有一个 JTable 扩展,自 Java 1.3/1.4 以来一直在项目中使用,它提供了列重新排序和通过单击列进行排序等功能。我们正在升级到 Java 1.6,新的 JTable 会停止旧的排序代码的工作。要使所有内容都适合新的 JTable API,需要进行大量的返工。在那之前有没有办法完全禁用 JTable 中的这些添加?
编辑:经过进一步调查,问题集中在这样一个事实上:标题上的鼠标事件在 1.6 中被 Swing 吞没,并且没有传递到表实现,即使它设置了自己渲染的标题。关于 Java 的向后兼容性就到此为止了。
那么有没有办法让 JTable 1.6 停止呢?我没能做到。即使覆盖表格和表格标题上的用户界面也没有帮助。
你有没有尝试过JTable.setRowSorter(null) http://download.oracle.com/docs/cd/E17409_01/javase/6/docs/api/javax/swing/JTable.html#setRowSorter%28javax.swing.RowSorter%29 ?
edit : and 设置自动创建行排序器 http://download.oracle.com/docs/cd/E17409_01/javase/6/docs/api/javax/swing/JTable.html#setAutoCreateRowSorter%28boolean%29? (1. 创建表,2. 行排序器为 null,3. 自动创建排序器为 false,4. 设置模型)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)