可以通过Cell的Render,让它加上鼠标Move事件就行了。

解决方案 »

  1.   

    不好意思,试了一下,好像Render不能响应鼠标事件,可以这样解决:for(int i=0; i<jTable.getColumnCount(); i++)
    {
    jTable.getColumn(i).setCellRenderer(new MyCellRenderer());
    }
    import javax.swing.table.DefaultTableCellRenderer;
    import javax.swing.*;public class MyCellRenderer
        extends DefaultTableCellRenderer {   public MyCellRenderer() {
      }  public Component getTableCellRendererComponent(JTable table, Object value,
                             boolean isSelected, boolean hasFocus, int row, int column) {                       String strToolTipText = "current row:" + row + " current column:" + column;
                           this.setToolTipText(strToolTipText);
    }
      

  2.   

    停止1秒以上,自动调用getValueAt事件,好办了吧
      

  3.   

    最终的解决办法:// 转换事件坐标为目标表内的坐标,
    // distanceX ,distanceY分别为两个table的屏幕位置坐标差
    e.translatePoint(distanceX ,distanceY);                 // 得到事件队列
    EventQueue queue = Toolkit.getDefaultToolkit().getSystemEventQueue();// 发送事件
    queue.postEvent(new MouseEvent(targetTable,MouseEvent.MOUSE_CLICKED,System.currentTimeMillis(),e.getModifiers(),e.getX(),e.getY(),1,false));最后进行click处理就可以了
      

  4.   

    在jtable上加MouseMotionListener,然后利用JTable.rowAtPoint() 和columnAtPoint() 方法就可以得到cell坐标了
      

  5.   

    哦,sorry 没说清楚。
    这个问题的前提是已经选中另一控件并拖动鼠标,这是没有释放鼠标,所以table是不能响应MouseMotionListener