⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tablesorterimpl.java

📁 java绘图 java awt 经典绘图的例子,对于初学awt模块的人非常有帮助.
💻 JAVA
字号:
/* * To change this template, choose Tools | Templates * and open the template in the editor. */package sortTable;import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.List;import javax.swing.table.TableModel;/** * * @author Administrator */public class TableSorterImpl implements TableSorter {    private List indexList;    protected TableModel model;    protected Comparator comparator;    public TableSorterImpl(TableModel model,Comparator comparator){        this();        this.model = model;        this.comparator = comparator;    }        public TableSorterImpl(){        indexList = new ArrayList();    }        public Comparator getComparator() {        return comparator;    }    public void setComparator(Comparator comparator) {        this.comparator = comparator;    }    public TableModel getModel() {        return model;    }    public void setModel(TableModel model) {        this.model = model;    }        public void sort(int viewColumn) {        if(comparator == null){            throw new RuntimeException("Comparator can not be null!");        }        initIndexList(viewColumn);        Collections.sort(indexList,comparator);        //把排序信息更新到table        changeRowIndex(indexList);    }    private void initIndexList(int col) {        indexList.clear();        for (int i = 0; i < model.getRowCount(); i++) {            indexList.add(new IndexCell(i, model.getValueAt(i, col)));        }    }    public void changeRowIndex(List indexList) {        Object[][] backup = new Object[model.getRowCount()][model.getColumnCount()];        for (int row = 0; row < backup.length; row++) {            for (int col = 0; col < backup[row].length; col++) {                backup[row][col] = model.getValueAt(row, col);            }        }        Object[] indexArray = indexList.toArray();        for (int row = 0; row < model.getRowCount(); row++) {            int oldRowId = ((IndexCell) indexArray[row]).getRowIndex();            for (int col = 0; col < model.getColumnCount(); col++) {                model.setValueAt(backup[oldRowId][col], row, col);            }        }    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -