Tag: tablerowsorter

使用TableRowSorter在JTable中获取正确的行

我目前正在使用带有TableRowSorter的JTable来为用户实现搜索function。 以下是我的代码 tblDutyList = new JTable() { @Override public java.awt.Component prepareRenderer( TableCellRenderer renderer, int row, int col) { java.awt.Component comp = super.prepareRenderer(renderer, row, col); Object value = getModel().getValueAt(row, 4); if (value.equals(“Inactive”)) { comp.setBackground(Color.white); comp.setForeground(Color.GRAY); } else { if (tblDutyList.isCellSelected(row, col)) { comp.setBackground(Color.lightGray); comp.setForeground(Color.BLACK); } else comp.setBackground(Color.white); comp.setForeground(Color.BLACK); } return comp; } }; tblDutyList.setFillsViewportHeight(true); String dutyId […]

基于隐藏列的JTable排序

我想基于一个隐藏列对JTable行进行排序。 说我有这样的JTable column1 column2 val1 val2 现在我还有一个隐藏的栏目3,我不想表现出来。 当用户单击Column2时,它应该基于Column3(隐藏列)而不是基于Column2对行进行排序。 如何在JTable中实现这一目标?

无法将列比较器设置为JTable

在另一个线程中,我找到了这个比较器(post的底部),用于对JTable列进行排序,这些列可以由整数,字符串或两者组成。 我无法弄清楚如何将它应用于我的JTable。 我的表之前使用过自动创建的行排序器。 我将其设置为false,我现在正在使用: TableRowSorter rowSorter = new TableRowSorter(); jtable.setRowSorter(rowSorter); rowSorter.setComparator(0, c1); 我得到一个索引超出范围的例外,说我提供的无效范围。 我的表有多列。 这是应用比较器的正确方法吗? 我觉得这不是这样做的方法。 Comparator c1 = new java.util.Comparator() { /** * Custom compare to sort numbers as numbers. * Strings as strings, with numbers ordered before strings. * * @param o1 * @param o2 * @return */ @Override public int compare(Object oo1, […]

如何以最短的方式对JTable进行排序?

我在JTable中搜索Sorting并且我引用了许多文章,但无法获得对表进行排序的最简单方法。 我也知道TableRowSorter可能在某种程度上有所帮助,但不知道如何。 作为JTable新手,我在这里创建了一个新问题。 我的表结构是这样的 | People | Place | Organisation | Event | Mentions | _____________________________________________________________ | Ramanuj | India | Tata Consultancy | Party’14 | 500000 | | Prankster | USA | Microsoft Pvt Ltd | Party’14 | 900000 | 我想要的是根据第4列(“提及”)对我的表Descending进行排序。 如果计数(提及)相同,则应按第1列(“人员”)排序升序 CSVReader reader = new CSVReader(new FileReader(file)); List myEntries = reader.readAll(); String[][] rowData […]

JTable:按整数排序

我有一个JTable,我想有时按整数(大小列)排序行,有时按字符串(文件路径)排序。 所以我在谷歌搜索它,我来到这里。 我已经知道我要覆盖一个名为getColumnClass的DefaultTableModel方法。 所以我在这里链接我的代码。 class Personal_model extends DefaultTableModel{ Personal_model(String[][] s,String[] i){ super(s,i); } @Override public Class getColumnClass(int columnIndex){ if (columnIndex!=2) return String.class; else return Integer.class; } } 这里是通过模型’Personal_model’创建表的代码; 我还设置了roworter。 但是这一切都不起作用!!!!! 帮帮我吧 modeltable = new Personal_model(data,col); table = new JTable(modeltable); table.setRowSorter(new TableRowSorter(modeltable)); 通常情况下,没有我的排序器,所有都是完整的可视化,并且字符串被正确排序(很明显,因为通常它们都按字符串排序..)

对最后一行除了JTable排序

我有一个JTable ,其中最后一行是聚合所有其他行的总行。 当用户单击表上的列标题时,行按该列排序,但总行应始终位于底部。 有没有一种简单的方法来使用TableRowSorter实现它?