我有一个传统的swing应用程序,其中JTable排序可以正常使用Java 1.5,但不适用于Java 1.6。有人可以提供两个版本之间可能有什么不同的提示吗?
排序由鼠标单击事件处理程序处理。这是代码的片段。
public void mouseClicked(MouseEvent e)
{
if ((e.getModifiers() & InputEvent.BUTTON1_MASK) != 0)
{
JTableHeader header = (JTableHeader) e.getSource();
JTable table = header.getTable();
int col = table.columnAtPoint(new Point(e.getX(), e.getY()));
int colModel = table.convertColumnIndexToModel(col);
TableSorter model = (TableSorter)table.getModel(); // the table model also implements sorting.
boolean order;
if (model.getSortedColumn() == colModel)
{
order = ! model.getCurrentOrder();
}
else
{
order = true;
}
model.sortByColumn(colModel, order);
header.repaint();
table.repaint();
}
}
没有例外。我试过用jdb运行。 getValueAt(int,int)函数在排序后返回java 1.5和java 1.6的正确值。