当前位置: 首页 > 面试题库 >

如何避免在JTable中对单个列进行重新排序?

凌宏大
2023-03-14
问题内容

我有一个JTable,我需要能够对列进行重新排序。但是,我希望第一列不能重新排序。我使用以下命令来启用重新排序:

table.getTableHeader().setReorderingAllowed(true);

现在可以对列进行重新排序,包括不需要的第一列。有什么方法可以锁定第一列?

我已经看到一些使用两个表的解决方案,其中第一列在单独的表中,但是也许有更好/更简单的方法。


问题答案:

我认为您需要重写中的columnMoved()方法TableColumnModelListener。在TableColumnModelEvent类有一个getFromIndex()方法,你应该能够看到,以确定它是否是你的固定列,然后你应该能够取消事件。

希望能有所帮助。一个



 类似资料:
  • 问题内容: 我正在创建一个新的Map并将字符串推入其中(没什么大不了的)-但是我注意到随着Map的增长,字符串正在重新排序。是否可以停止这种重新排序,以便地图中的项目保持其放入的顺序? 问题答案: 如果您关心订单,可以使用。实现该接口的实际类(至少在大多数情况下是)。或者,在仍然使用基于哈希表的容器的同时,也维持其顺序。

  • 问题内容: 我目前正在开发一种微分运算符,可以将其以矩阵形式放置。在这种情况下,创建对象时列表的顺序非常重要,以确保仅在需要时才执行区分。 问题是,完成以下操作后: 之所以返回,是因为进行了一些重排。如何避免被排序? 问题答案: 为什么arg的顺序对正确来说很重要? 防止这种情况的唯一方法是将符号设置为不可交换的()。SymPy对象通过比较进行比较,因此要正常工作,必须对args进行规范排序。有一

  • 问题内容: JTabbedPane正是我要达到的目的。我的水平空间非常有限,所以我的Tab可以叠放,这完全可以。 但是默认行为是,如果用户单击选项卡,则* 选项卡将重新排序,以使活动的选项卡变为低位 * s。从理论上看,非常直观和合乎逻辑的内容是实际使用中的噩梦,因为用户会松散地了解“哪个是哪个”。一次又一次地告诉我,这简直是令人困惑。 我想应该有可能重写UI的某些方法来避免这种行为(并且我不在乎

  • 已经存在一个jtable,我需要动态添加一列,然后为该列设置表格单元格呈现器,单元格呈现器是带有图标的jlabel。我已经做完了。 我的问题是:现在我需要根据表格单元格呈现器中使用的不同图标对列进行排序,那么如何做到这一点呢?谢谢你。

  • 问题内容: 我想具有重新排列表中的行的功能(使用拖放对行进行排序)。 并且行排列的索引在模型中也应更改。 如何 使用Angular Directive 做类似的事情:http : //jsfiddle.net/tzYbU/1162/? 我正在生成表为: 问题答案: 我做的。请参阅下面的代码。 的HTML 指令(JS)

  • 问题内容: 这个问题已经在这里有了答案 : 如何根据对象的属性对对象列表进行排序? (8个答案) 1年前关闭。 我有一个看起来像这样的对象列表。 Card(10,’H)在这里不是元组,而是对象。我知道如果列表中的每个项目都是元组形式的,如何对列表进行排序,就像这样, 但我不知道如何对对象列表进行排序。我想按第一个输入值(即Card()中的数字)对列表进行排序 我怎样才能做到这一点? 编辑:这是Ca