- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我花了几天时间试图让我的 JTable 正确排序。我知道我必须使用的代码,但似乎无法将其“适合”并应用于我的代码。我正在从数据库获取 TableModel 数据,因此如果我在初始化模型时调用 getColumnClass() ,我会得到一个 NullPointerException (当然),但我似乎无法让 getColumnClass(int) 在其他地方工作,例如model.getColumnClass(columnIndex)。我只需要按数字顺序对第一列进行排序,因为其余的都是字符串。这是我的代码。 (ps:这是第一次使用 JBDC,所以我很可能在调用的顺序上有错误 - 或者可能是用“普通”方式进行的,哈哈)
public JTable memberList() { JTable jTable1; DefaultTableModel model; model = new DefaultTableModel(); jTable1 = new JTable(model); TableRowSorter sorter = new TableRowSorter(model); try { Statement stmt = conn.createStatement(); String sql = "select rm.race_no,cm.firstname,cm.lastname,cm.phone,cm.dob,cm.email,cm.TwinTown_ID,rm.disqualified,cm.notes\n" + "from competitor_master cm join competitor_season cs on cm.competitor_id = cs.competitor_id\n" + "inner join race_master rm on cs.race_no= rm.race_no where cm.twintown_id is not null and cs.season_start_year in (year(sysdate()))\n" + "group by (race_no);"; ResultSet rs = stmt.executeQuery(sql); String b = "", c = "", d = "", e = "", f = "", g = "", h = "", i = ""; int a; model.addColumn("Member Number"); model.addColumn("First Name"); model.addColumn("Last Name"); model.addColumn("Phone"); model.addColumn("Date of Birth"); model.addColumn("Email"); model.addColumn("TT Member Number"); model.addColumn("Disqualified"); model.addColumn("Notes"); while(rs.next()) { a = rs.getInt(1); b = rs.getString("FirstName"); c = rs.getString("LastName"); d = rs.getString("phone"); e = rs.getString("dob"); f = rs.getString("email"); g = rs.getString("TwinTown_ID"); h = rs.getString("disqualified"); i = rs.getString("notes"); model.addRow(new Object[] {a,b,c,d,e,f,g,h,i}); model.getColumnClass(1); } stmt.close(); rs.close(); } catch (SQLException ex) { } jTable1.getTableHeader().setFont(new Font("Microsoft Tai Le", Font.BOLD, 14)); jTable1.getTableHeader().setBackground(Color.WHITE); jTable1.getTableHeader().setForeground(new Color(234, 168, 82)); jTable1.getTableHeader().setBorder(null); jTable1.setRowSorter(sorter); return jTable1; }
public Class getColumnClass (int column){ if (column==1) { return(Integer.class); } return(String.class); }
最佳答案
it is sorting but by the first number only. so is sorting like this: 123 17 22 28 45 5 56 66
因为它将所有数据视为字符串数据。
model = new DefaultTableModel();
jTable1 = new JTable(model);
您正在使用 DefaultTableModel 和 JTable 的默认实现。 getColumnClass(...)
方法的默认实现仅返回 Object.class,以便对每个对象的 toString() 值进行排序。
您不需要手动调用 getColumnClass() 方法,您需要重写 TableModel
的 getColumnClass(...)
方法:
model = new DefaultTableModel()
{
@Override
public Class getColumnClass (int column)
{
return (column == 0) ? Integer.class : String.class;
}
};
关于java - 连接到 JDBC 时使用 getColumnClass() 对 JTable 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32804794/
我试过搜索,但似乎没有人有答案。 我使用 JTable 来创建一个列出人员的表格,并且我想放置一个 ImageIcon,因此根据我所阅读的内容,我必须重写默认方法才能返回图标而不是字符串。 这是我用的
我正在 Matlab 中使用 JIDE 网格排序和自动过滤功能。我已经重写了 getColumnClass,并且过滤和排序对于整数、 double 和字符串列效果很好(对数字进行数字排序,对字符串分别
我试过搜索,但似乎没有人有答案。 我使用 JTable 来创建一个列出人员的表格,并且我想放置一个 ImageIcon,因此根据我所阅读的内容,我必须重写默认方法才能返回图标而不是字符串。 这是我用的
当我将 getcolumn 类添加到我的 Abstracttablemodel 时,我无法使用自定义 TableCellRenderer 来设置背景颜色。 (我用它来排序、对齐数字列) public
在我的表模型中,我有一个 ArrayList>其中包含我的数据。 数据已从.csv文件中读入,每条记录的形式为: 7.68573749,-8.551567,21,276,AUD,AAA,7.224,1
本文整理了Java中org.dom4j.swing.XMLTableColumnDefinition.getColumnClass()方法的一些代码示例,展示了XMLTableColumnDefini
我试图让我的 jTable 对数字进行排序,但它仍然不起作用。我不确定我做错了什么,但一切似乎都很好。 我的代码: 公共(public)静态javax.swing.JTable jTable1; pu
我有一个问题。我创建一个像这样的 DefaultTableModel --> public static DefaultTableModel buildTableModel(ResultSet rs)
我花了几天时间试图让我的 JTable 正确排序。我知道我必须使用的代码,但似乎无法将其“适合”并应用于我的代码。我正在从数据库获取 TableModel 数据,因此如果我在初始化模型时调用 getC
我正在尝试通过扩展 DefaultTableModel 和覆盖 getColumnClass() 来对我的 JTable 进行排序,如下所示: public Class getColumnClass
我有一个 JTable,我想在其中以复选框的形式显示 boolean 值,它应该能够被编辑(选中/取消选中)。 为了实现这一目标,我实现了 AbstractTableModel 的子类,其中包含所有需
我是一名优秀的程序员,十分优秀!