gpt4 book ai didi

java - 在 Jtable 中拖动列后列索引未更改

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:15:38 24 4
gpt4 key购买 nike

我正在使用 JTable 来显示信息。呈现信息后,如果我拖动列重新排序,信息将以相同的方式显示在 session 中。但是当我尝试通过迭代列名来检查列名来捕获更改时,序列与旧序列相同。为什么无法从 API 获得最新 View ?

最佳答案

正如 Hovercraft Full Of Eels 评论的那样, View 中的列索引独立于模型中的列索引而变化。 JTable's JavaDoc对此有话要说:

By default, columns may be rearranged in the JTable so that the view's columns appear in a different order to the columns in the model. This does not affect the implementation of the model at all: when the columns are reordered, the JTable maintains the new order of the columns internally and converts its column indices before querying the model.

JTable 提供方法 convertColumnIndexToModel()convertColumnIndexToView()您可以使用它来将列号从一个转换为另一个。您可以使用这些来确定列是否(以及如何)重新排列。

要在发生列更改时得到通知,请使用 TableColumnModelListener:

myTable.getColumnModel().addColumnModelListener( new TableColumnModelListener() {
//etc.
} );

关于java - 在 Jtable 中拖动列后列索引未更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7987216/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com