我记得核心技术swing上说jtable是基于列的,
也许没有简单的办法实现。

解决方案 »

  1.   

    只要在jTable中加入鼠标监听事件,如下例子,tableView是Jtable: tableView.addMouseMotionListener( new MouseMotionListener()
    {
       private int row=0;
       private int col=0;
       private double diffx=0;
       private double mouseOldX=0;
       private double mouseOldY=0;
       private boolean bmove=false;
       private int oldrowheight=0;
       public void mouseMoved(MouseEvent e)
       {
        row=tableView.rowAtPoint(e.getPoint());
        col=tableView.columnAtPoint(e.getPoint());
       oldrowheight=tableView.getRowHeight(row-1); 
       Rectangle rect=tableView.getCellRect(row,col,true);
       double rowX=rect.getX();
       double rowY=rect.getY();
       mouseOldY=e.getY();
       if (Math.abs(rowY-e.getY())<=1 )
       {
                 //System.out.println(rect.getX()+","+rect.getY()+","+e.getX()+","+e.getY());                
                 //this.snew Cursor(Cursor.TEXT_CURSOR);
                 bmove=true;
                 frame.setCursor(Cursor.S_RESIZE_CURSOR);
             }
             else
             {
             frame.setCursor(Cursor.DEFAULT_CURSOR);
             bmove=false;
             }
       }
       public void mouseDragged(MouseEvent e)
       {
       if (bmove)
       {
       int rowHeight=oldrowheight+(int)(e.getY()-mouseOldY);
       if (rowHeight>1)
       tableView.setRowHeight(row-1,rowHeight);
       }
       }
    });