/** 当单击单元格出现CellEditor时应该显示什么值。由此方法决定, 返回单元格的当前值 返回某个属性的值 */ public Object getValue(Object element, String property) { Object result = null; Station station = (Station) element; if (station == null) return null; // 使用别名的方法 if (property.equals("name")) return station.getStation_name(); else if (property.equals("down")) return String.valueOf(station.getStation_downnumber()); else if (property.equals("up")) return String.valueOf(station.getStation_upnumber()); else if (property.equals("map")) // ComboBoxCellEditor要求返回下拉框中的索引值 return new Integer(getNameIndex(station.getStation_graph())); // 直接使用索引 /* List list = Arrays.asList(stationData.columnHeads); int columnIndex = list.indexOf(property); //再返回对应的数据 switch (columnIndex) { case 0://id return String.valueOf(station.getStation_id()); case 1://name return station.getStation_name(); case 2://down return String.valueOf(station.getStation_downnumber()); case 3://up return String.valueOf(station.getStation_upnumber()); case 4://map ,因为用的是下拉框,所以要返回一个Integer表示当前选中的index return new Integer(getNameIndex(station.getStation_graph())); } */ return result; }
public int compare(Viewer viewer, Object e1, Object e2) { Station info1 = (Station) e1; Station info2 = (Station) e2; switch (propertyIndex) { case 0: // return info1.name.compareTo(info2.name); return direction ? info1.getStation_name().compareTo(info2.getStation_name()) : info2.getStation_name().compareTo(info1.getStation_name()); /*case 3: 对于checkcell if (bug1.isSolved == bug2.isSolved) return 0; if (bug1.isSolved) return 1; else return -1;*/ default: return 0; } }
/* 这里的element参数,其实就是我们二维数组中的每一个一维数组,其中保存的是 * 每一行的所有数据,通过column这个参数依次写入到表格中的各个字段上。 * column具体值是多少我们并不知道,因此需要我们来判断,并根据他里面的值 * 来决定我们要将哪个数据返回。同样,该方法是不能返回NULL的。必须先检查数有效性。 */ public String getColumnText(Object element, int columnIndex) { Station station = (Station) element; if (station == null) // 解决表中空数据出现的错误 return null; switch (columnIndex) { case 0: return station.getStation_name(); case 1: return String.valueOf(station.getStation_downnumber()); case 2: return String.valueOf(station.getStation_upnumber()); case 3: return station.getStation_graph(); } return null; }