JTable 编辑/取消编辑代码不适用于重新排列的 JTable 列

2024-03-26

我使用以下代码对 JTable 列进行编辑/取消编辑,但是当用户重新排列列时,以下代码不起作用 SSCCE的代码如下:

    import javax.swing.JTable;
    import javax.swing.table.DefaultTableModel;
    import javax.swing.table.TableModel;

    public class Main {
    public static void main(String[] argv) throws Exception {
    TableModel model = new DefaultTableModel() {
    public boolean isCellEditable(int rowIndex, int mColIndex) {
    boolean flag = false;
            if (isEdit == true) {    
                if ((vColIndex == tblItem.getColumn("Design").getModelIndex())
                        || (vColIndex == tblItem.getColumn("ChangedCategory").getModelIndex())
                        || (vColIndex == tblItem.getColumn("Amount").getModelIndex())) {
                    flag = false;
                } else {
                    flag = true;
                }
            } else {
                flag = false;
            }    
            return flag;
  }
};

JTable table2 = new JTable(model);
}
}

请注意,模型和视图索引是not相等的。如前所述here http://docs.oracle.com/javase/tutorial/uiswing/components/table.html#sorting,

JTable提供从模型坐标转换为视图坐标的方法 -convertColumnIndexToView and convertRowIndexToView- 并将视图坐标转换为模型坐标 -convertColumnIndexToModel and convertRowIndexToModel.

教程部分讨论排序和过滤 http://docs.oracle.com/javase/tutorial/uiswing/components/table.html#sorting行,但该原则也适用于列。缺席完整的例子 http://sscce.org/,很难确定。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JTable 编辑/取消编辑代码不适用于重新排列的 JTable 列 的相关文章

随机推荐

  • 程序员多久会被要求编写一个 makefile 文件? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 从当前文化中获取货币?

    有没有办法从应用程序文化设置动态获取当前信息 基本上 如果用户将文化设置为美国 我想知道货币是美元 或者如果他们将其设置为英国 我想知道英镑等 等等 这样我就可以在付款时将此信息发送给 PayPal 使用 RegionInfo ISOCur
  • 根据当前值更新 MongoDB 中的值

    我想做这样的事情 但是this关键字似乎没有在更新语句中设置 db items update foo set bar this foo false true 我必须使用eval来完成这个 是的 您不能引用修饰符中的其他字段 您必须使用 db
  • 使 MongoDB 中的表字段可文本搜索

    先决条件 已使用集合创建数据库posts它的架构如下 module exports function mongoose var Schema mongoose Schema var postSchema new Schema postID
  • Java TA-Lib 文档 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找有关的文档TA Lib http www ta lib org index html在爪哇
  • 使用 SWIG 和 Python/C API 包装返回 std::map 的函数

    我想包装一个 C 例程 它返回一个std map整数和指向 C 类实例的指针 我在使用 SWIG 时遇到困难 希望能提供任何帮助 我试图通过一个简单的例子来将这个问题归结为它的本质 标题test h定义如下 File test h incl
  • 计算单元测试运行期间发生的GC数量[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我目前正在编写一个单元测试来查看给定方法的性能影响 从实践中我们观察到 当前在给定方法的执行过程中发生了很多GC 我想知道是否可以查看从
  • ASIHTTPRequest dealloc 和 EXC_BAD_ACCESS 问题

    我使用一组 ASIHTTPRequest 包装器 AsyncImageLoader 来下载 UITableView 中单元格的图像 我在处理 ASIHTTPRequests 生命周期时遇到问题 如果我释放它们 如果我在它们尝试加载图像时继续
  • 警告:require_once():http:// 包装器在服务器配置中被allow_url_include=0 禁用

    我试图通过以下方式在页面中包含 php 文件 require once http localhost web a php 我收到错误 Warning require once http wrapper is disabled in the
  • Jodatime的LocalDateTime第一次使用时很慢

    我目前正在一个 java 项目中测试一些 webapp 技术 并且想知道为什么页面有时加载速度很快 有时需要近 5 秒才能加载 我终于发现是这条线 LocalDateTime now new LocalDateTime 第一次调用时 需要很
  • 使用 par 时图例框宽度不正确

    我有问题 我的图例太大 我的代码 par mfrow c 1 2 hist alvsloss breaks 100 freq F main Histogramm density curve gaussian kernel n and fit
  • Dart - 试图理解“工厂”构造函数的价值

    如果我理解正确的话 A factory constructor affords an abstract class to be instantiated by another class despite being abstract 例如
  • 仅调用一个 Paint 事件

    我的问题是我有 8 个图片框 但一次只有其中一个调用其绘制方法 我的代码有点太大 所以我尝试尽可能地将其范围缩小到受影响的部分 我最好的猜测是 这并不是我的代码中的错误 而是对绘制事件如何工作的误解 我有一个继承自 PictureBox 的
  • Spark SQL - 从 sql 函数生成数组的数组

    我想创建一个数组的数组 这是我的数据表 A case class for our sample table case class Testing name String age Int salary Int Create an RDD wi
  • 重命名命令中的下划线(Perl 和 Unix shell)

    我正在尝试替换所有 下划线字符为 所有文件名中的连字符 mat在一个文件夹内 我输入不同版本但未成功 rename f w mat 有人可以向我解释一下出了什么问题吗 如果您正在使用基于 Perl 的rename http socialte
  • Export-CSV 仅获取“长度”

    当我尝试导出到 CSV 列表时 我只得到 长度 的所有数字 Count属性 直到到达分割点 然后将 CSV 数组分割到一个新文件 并使用从此时开始使用的新名称 可能是什么问题 RootFolder Get Content c DRIVERS
  • `agrep(...,fixed=F)` 的困难

    In agrep grep模糊匹配 它提到我可以设置参数fixed FALSE让我的模式被解释为正则表达式 但是 我无法让它工作 agrep asdf fdsa asdf fixed F integer 0 以上should匹配正则表达式
  • 使用 Codeigniter 将复选框值传递到 mysql 数据库

    我正在使用 CodeIgniter 和 mySQL 构建复选框表单 该表格包含 4 个选项 每个选项只有一个复选框 用户可以选择选项的任意组合 我想做以下事情 1 对于每个复选框 使用值 1 如果未选中 或 2 如果选中 并将这些值传递到数
  • 第一个项目需要注意什么

    我想创建一个程序 它将接受用户输入并创建一个 使用输入的日历 示例 约翰 康纳 2010 年 1 月 3 日生日 此信息还可按明显的顺序排序 姓氏 名字 日期 其他 它将能够将此信息打印为列表或日历 必须有例外 例如 1 3 10 放在 2
  • JTable 编辑/取消编辑代码不适用于重新排列的 JTable 列

    我使用以下代码对 JTable 列进行编辑 取消编辑 但是当用户重新排列列时 以下代码不起作用 SSCCE的代码如下 import javax swing JTable import javax swing table DefaultTab