JTable排序不适用于Java 1.6

时间:2014-01-27 07:47:56

标签: java swing jtable tablerowsorter rowsorter

我有一个传统的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的正确值。

0 个答案:

没有答案