`
tyl
  • 浏览: 50391 次
  • 性别: Icon_minigender_2
  • 来自: 西安
文章分类
社区版块
存档分类
最新评论

Jtable排序

阅读更多

http://topic.csdn.net/u/20080110/17/17a6193c-e848-415b-adcc-5cd38c71facc.html

 

/*
* ColumnModelTest.java
*
* Created on 2008-1-11, 下午08:30:11
*/
package com.enrising.table;

import java.awt.BorderLayout;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.event.TableModelListener;
import javax.swing.table.TableModel;

public class ColumnModelTest extends JPanel {
   
public ColumnModelTest() {
       
super(new BorderLayout());
        JTable table
= new JTable(new MyTableModel());
        add(
new JScrollPane(table), BorderLayout.CENTER); TableSorter ts = new TableSorter(table.getModel(), table.getTableHeader());
        table.setModel(ts);
    }

   
public static void createAndShowGUI() {
        JFrame f
= new JFrame("ColumnModelTest");
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.getContentPane().add(
new ColumnModelTest(), BorderLayout.CENTER);
        f.pack();
        f.setVisible(
true);
    }

   
public static void main(String args[]) {
        javax.swing.SwingUtilities.invokeLater(
new Runnable() {

            @Override
           
public void run() {
                createAndShowGUI();
            }
        });

    }

   
public static class MyTableModel implements TableModel {

        Object[][] p
= {
                {
                       
new Boolean(false), "人事部", "12311", "无名", "", "19920103", "本科", "物理"
                }, {
                       
new Boolean(false), "人事部", "12312", "无名", "", "19920103", "本科", "物理"
                }, {
                       
new Boolean(false), "人事部", "12313", "无名", "", "19920103", "本科", "物理"
                }, {
                       
new Boolean(false), "人事部", "12314", "无名", "", "19920103", "本科", "物理"
                }
        };
        String[] n
= {
               
"选择", "部门", "教师编码", "姓名", "性别", "生日", "最终学历", "研究领域"
        };

       
public int getColumnCount() {
           
return n.length;
        }

       
public int getRowCount() {
           
return p.length;
        }

       
public String getColumnName(int col) {
           
return n[col];
        }

       
public Object getValueAt(int row, int col) {
           
return p[row][col];
        }

       
public Class getColumnClass(int c) {
           
return getValueAt(0, c).getClass();
        }

       
public boolean isCellEditable(int rowIndex, int columnIndex) {
           
return true;
        }

       
public void setValueAt(Object value, int row, int col) {
            p[row][col]
= value;
            fireTableCellUpdated(row, col);
        }

       
private void fireTableCellUpdated(int row, int col) {
           
// TODO Auto-generated method stub

        }

       
public void addTableModelListener(TableModelListener l) {

        }

       
public void removeTableModelListener(TableModelListener l) {

        }
    }

}

分享到:
评论

相关推荐

    java--JTable排序实例源码

    这个实例“java--JTable排序实例源码”提供了一个功能,允许用户通过点击表头对`JTable`中的数据进行排序。这种功能在处理大量数据时非常实用,使得用户能轻松地查看和理解数据。 首先,我们来深入了解一下`JTable`...

    GridBagLayout && JTable 排序

    这篇博客文章“GridBagLayout && JTable 排序”可能涉及了如何在使用`GridBagLayout`布局的同时,实现`JTable`的数据排序功能。 `GridBagLayout`的工作原理是通过`GridBagConstraints`对象来设置每个组件的约束条件...

    JTable排序

    ### JTable排序机制 默认情况下,`JTable`并不支持排序功能。要实现排序,你需要自定义一个表模型或者使用已存在的表模型扩展,如`AbstractTableModel`或`DefaultTableModel`,并实现相应的排序逻辑。另一种方法是...

    JTable表头排序的两种方法

    本篇文章将详细介绍如何实现`JTable`表头的排序功能,并提供两种不同的实现方法。 ### 方法一:使用DefaultTableColumnModel的Comparator `DefaultTableColumnModel`是`JTable`默认使用的列模型,它支持列的排序...

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

    然而,`JTable` 默认并不支持排序功能,这可能会在开发过程中带来不便。本文将深入探讨如何解决`JTable`的排序问题,以便用户可以按需对表格数据进行升序或降序排列。 首先,`JTable` 的排序问题可以通过引入`...

    Jtable表格分三组排序(支持中文)

    "Jtable表格分三组排序(支持中文)"这个标题暗示我们需要实现一个功能,即允许用户按照多列进行排序,首先根据第一列(A列),然后是第二列(B列),最后是第三列(C列)。当第一列的值相同时,根据第二列进行排序...

    一种JTable中多列排序的实现方法

    java实现的,一种JTable中多列排序的实现方法

    SortJTable.rar

    这个标签暗示我们这个压缩包可能包含了实现JTable排序功能的代码或者教程。 文件名列表中: 1. SortJTable.jcd、SortJTable.jcp、SortJTable.jcu、SortJTable.jcw - 这些文件扩展名不常见,可能属于某种特定的项目...

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

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

    JTable的使用收藏

    JTable的使用收藏 1.JTable与TableModel 1.TableModel与JTable的关系 ...4.表格排序 3. JTable事件响应和项目设想 4.一个游戏:《java连连看》 1.需求分析 2.编写TableModel和界面实现 3.连连看事件监听 总结和任务

    JTable 练习例子exa

    在实际使用中,`JTable`提供了丰富的功能,如排序、选择、编辑单元格等。可以通过设置列的`ColumnModel`来控制列的宽度、是否可编辑等属性。另外,`JTable`可以与`JComboBox`、`JCheckBox`等其他组件集成,实现复杂...

    JTable 操作单元格 行 列

    5. **排序行**:`JTable`本身不支持排序,但可以结合`RowSorter`实现排序功能。 ### 列操作 1. **添加列**:`addColumn(Object columnIdentifer, Object[] data)`方法用于添加新列,`columnIdentifer`是列头名称,...

    JTable的介绍.doc

    `JTable`提供了丰富的功能,包括但不限于数据编辑、排序、过滤、选择等。开发者可以根据需要自定义`TableModel`来适应不同的数据结构,或者通过监听`JTable`的各种事件来实现特定的功能,如单元格更改、行选择等。`...

    jTable的使用

    2. **排序**:jTable可以实现自动排序。只需设置`AutoCreateRowSorter`属性为`true`,用户点击表头即可进行排序。 3. **列宽调整**:用户可以通过拖动列边框来调整列宽。开发者也可以通过`setColumnWidth()`方法...

    mvc+Jquery-jTable

    jTable 支持许多高级特性,如自定义列显示、本地化、列过滤、行选择、行操作、列排序等。这些特性可以通过配置选项来启用或定制,以满足特定项目需求。 **5. jTable 和 ASP.NET MVC 的整合优势** - **简洁的API**:...

    Swing之JTable的详细介绍

    JTable能够方便地创建和管理表格数据,同时也支持用户交互,如编辑单元格、排序、选择行等操作。下面我们将深入探讨JTable的使用方法和特性。 首先,JTable的类继承结构如下: 1. `java.lang.Object` 2. `java.awt...

    不错的jquery插件jtable

    - **排序功能**:用户可以通过点击表头来对数据进行升序或降序排序。 - **搜索过滤**:提供内置的搜索框,允许用户根据需要筛选数据。 - **列选择**:允许用户自定义显示哪些列,提供更好的用户体验。 - **行操作**...

    java表格jtable源码

    JTable不仅可以显示数据,还允许用户与数据进行交互,如编辑、排序和选择。在Java编程中,掌握JTable的使用对于创建功能丰富的图形化界面至关重要。 1. **JTable的基本结构** JTable由`DefaultTableModel`驱动,它...

    学会JTable的使用

    - **排序和过滤**:`JTable`支持列排序,只需单击列头即可。通过`TableRowSorter`可以实现数据过滤。 - **事件处理**:`JTable`的行、列选择和单元格点击都可监听,可以自定义事件处理器来响应用户的操作。 - **...

Global site tag (gtag.js) - Google Analytics