`
云上太阳
  • 浏览: 131729 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

JTable表头排序后,row获取错乱的问题解决

阅读更多

JTable表头排序后,row获取错乱的问题解决

                                                                                                        ——我一直不太信任自己的记忆力,所以我把它们都写下来 

    昨天客户说单据需要排序功能,然后我就给jtable加了这个方法table.setAutoCreateRowSorter(true);
这个方法表明启用单击表头排序的功能。如果你只是需要排序显示,而不需要获取某一行的数据,到这一步已经可以实现了排序的功能。运行程序,单击表头,可以看到自动排序了。

    但是我进行的这个功能是需要在单击某一行数据后获取这行数据的,然后发现获取到的数据完全错乱了。我以前是这么获取row数据的

 table.addMouseListener(new MouseAdapter() {
        	@Override
        	public void mouseClicked(MouseEvent e) {
        		super.mouseClicked(e);
                int row = table.getSelectedRow(); //获得行位置 
        	table.setRowSelectionInterval(row, row);//高亮显示
                Entity entity= list.get(row);//entity是我自己的实体,渲染row
        	}
});

修改方法只需要将row转换下即可,最后一行改成如下:

Entity entity = list.get(table.convertRowIndexToModel(row))

 

分享到:
评论

相关推荐

    JTable表头合并

    在某些情况下,我们可能需要合并`JTable`的表头,以更好地组织和呈现信息。例如,当表格的数据有多个层次或者需要表示复杂的分类时,表头合并就显得尤为必要。本文将深入探讨如何实现`JTable`的表头合并,并提供相关...

    解决JTable排序问题的方法详解

    本文将深入探讨如何解决`JTable`的排序问题,以便用户可以按需对表格数据进行升序或降序排列。 首先,`JTable` 的排序问题可以通过引入`TableSorter` 类来解决。`TableSorter` 是一个装饰器模式的实现,它扩展了`...

    JTable实现行间拖拽的最简单方法

    它提供了丰富的功能,如排序、选择和编辑。然而,`JTable`默认并不支持行间的拖放(Drag and Drop, DnD)操作。本文将详细介绍如何通过一种简单的方法,为`JTable`添加行间拖拽功能,而无需对已有代码进行大规模修改...

    jTable的使用

    **jTable是Java Swing库中的一个组件,用于在应用程序中展示和操作表格数据。它提供了丰富的功能,包括数据编辑、排序...在实际开发中,根据项目需求进行适当的定制和扩展,将使jTable成为解决数据管理问题的有效工具。

    JAVA中JTable的使用方法

    使用`getTableHeader()`获取表头组件,可调整列宽或自定义表头渲染器。 8. **功能增强** `JTable`提供了多选模式,通过`setRowSelectionAllowed()`和`setColumnSelectionAllowed()`开启。`setSelectionMode()`...

    Java的Jtable、从数据库取数据显示在表格中

    - 使用`(jTable.getModel().getValueAt(jTable.getSelectedRow(), 0)).toString();`获取选中行的第一列数据。 - 可以根据具体需求选择其他列的数据。 #### 四、扩展与注意事项 1. **异常处理**: - 示例代码中...

    一个jTable的示例文件.rar

    JTable可以动态地调整大小,用户可以滚动查看超出视口的数据,并且支持排序、选择行和列以及编辑单元格内容。 1. **JTable的构造** - JTable():创建一个空的表格。 - JTable(Object[][] rowData, Object[] ...

    Java JTable 使用

    Java JTable 是Java Swing库中的一个核心组件,用于在GUI应用程序中展示表格数据。它提供了丰富的功能,使得用户可以查看、编辑和操作二维数据集。在这个主题中,我们将深入探讨JTable的使用,包括它的基本概念、...

    JTable 组件学习

    `JTable`通常与`DefaultTableModel`一起使用,后者负责管理表格的数据和结构。 1. **创建JTable** 创建`JTable`需要一个`TableModel`。最基本的创建方式是传入二维数组或`Vector`对象。例如: ```java Object[]...

    JTable Examples

    本资料集合了25个已经调试通过的`JTable`例子,涵盖了多种高级特性和用法,如多级表头、多级行头以及单元格合并等,旨在帮助开发者深入理解和应用`JTable`。 1. **多级表头(Nested Table Headers)**: 多级表头...

    java中的表格的 用法JTABLE

    7. **表头的定制**:`JTableHeader`是`JTable`的表头部分,可以通过`setHeaderRenderer`和`setHeaderValue`来定制。 ```java table.getTableHeader().setDefaultRenderer(new MyHeaderRenderer()); ``` 8. **与...

    jtable使用参考

    String[] headers = {"表头一", "表头二", "表头三"}; Object[][] cellData = {}; DefaultTableModel model = new DefaultTableModel(cellData, headers) { public boolean isCellEditable(int row, int column) { ...

    Java中JTable的用法

    ### Java中JTable的用法 #### 一、概述 JTable是Swing框架中用于显示和编辑表格数据的关键组件之一。它不仅提供了强大的数据管理功能,还支持丰富的定制选项,使得开发者能够根据具体需求创建出高度个性化的表格...

    java_swing大量的table例子

    在Swing中,`JTable`是一个非常重要的组件,它允许开发者在应用程序中展示二维数据,并且支持多种交互功能,如排序、选择、编辑等。这个压缩包文件"java_swing大量的table例子"显然提供了丰富的`JTable`使用示例,...

    Java中JTable的使用以及如何在其行和列中插入项目

    `JTable` 提供了丰富的功能,包括数据编辑、排序、选择和自定义显示等,使得开发者可以轻松地在GUI应用程序中展示和操作数据。下面将详细介绍`JTable`的使用及其在行和列中插入项目的操作。 首先,`JTable`的创建...

    Swing表格处理

    在Swing中,JTable默认并不支持数据的自动排序,但可以通过实现`SortableTableModel`接口或使用`DefaultRowSorter`类来实现这一功能。`TableSort.java`文件可能就是演示了如何为JTable添加排序功能的示例代码。你...

    Mulitrosss

    ### Mulit_row,SWT 多行表头 在Java Swing框架中,有时我们需要创建具有多行表头的表格来更好地组织数据展示。本篇文章将详细介绍如何使用Swing实现一个带有自定义多行表头的表格组件。 #### 一、项目背景及需求...

    TableSorter.rar_Windows编程_Java_

    然而,JTable本身并不提供排序功能,因此我们需要添加额外的逻辑或使用第三方库来实现表格的排序。"TableSorter"很可能是一个实现了这种功能的自定义类。 表格排序通常涉及到以下几个关键概念: 1. **Model-View-...

Global site tag (gtag.js) - Google Analytics