package com.chart.display.gf1;
import com.DB.HbaseGetTaskResultDb;
import com.javabean.ComboBoxBean;
import com.model.TaskResultDetail;
import com.util.*;
import org.apache.logging.log4j.Logger;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;
import javax.swing.table.TableRowSorter;
import java.awt.*;
import java.awt.event.*;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.*;
import java.util.List;
public class GF_E_MP_DAY_READ implements Runnable {
private final Logger logger = LoggerUtil.getLogger(GF_E_MP_DAY_READ.class);
/**
* 表格
*/
private static JTable collectDateJTable = new JTable();
/**
* 表格数据
*/
private static Vector
要为JTable的日期列添加排序功能,需要使用TableRowSorter,并为该列创建一个比较器。
//创建表格排序对象
TableRowSorter<TableModel> sorter = new TableRowSorter<>(collectDateJTable.getModel());
//添加排序规则,对日期列使用排序
sorter.setComparator(0, new Comparator<Date>() {
@Override
public int compare(Date o1, Date o2) {
return o1.compareTo(o2);
}
});
//给Jtable设置表格排序对象
collectDateJTable.setRowSorter(sorter);
如果有用,请采纳
为了给Jtable中的日期列添加排序功能,需要使用TableRowSorter,具体步骤如下:
实例化TableRowSorter对象:
TableRowSorter<TableModel> sorter = new TableRowSorter<>(collectDateJTable.getModel());
为表格设置行排序器:
collectDateJTable.setRowSorter(sorter);
排序:
如果想排序日期列,可以在第0列使用以下代码排序:
sorter.setSortable(0, true);
sorter.sort();
如果需要排序日期列中的数据,则需要使用Comparator比较器,将日期字符串转换为日期对象并进行比较。
sorter.setComparator(0, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
try {
Date d1 = format.parse(o1);
Date d2 = format.parse(o2);
return d1.compareTo(d2);
} catch (ParseException e) {
e.printStackTrace();
}
return 0;
}
});
以上代码应该在表格数据被加载后执行,这样才能排序表格中的数据