table.requestFocusInWindow();
table.editCellAt(int row,int col);
这样可以让单元格处于可编辑状态,并且也可以输入值,但是鼠标的光标不在那里,并且想让它处于可编辑状态时就让单元格里的值处于全选中状态,不知道怎么实现

解决方案 »

  1.   

    table.changeSelection();
    changeSelection
    public void changeSelection(int rowIndex,
                                int columnIndex,
                                boolean toggle,
                                boolean extend)根据 toggle 和 extend 这两个标志的状态,更新表的选择模型。UI 所接收的键盘事件或鼠标事件所引起的大多数选择更改都是通过此方法来传递的,以便子类可以重写此行为。某些 UI 需要的功能可能多于此方法所提供的功能(例如在操作非连续选择的前端时),而且对某些选择更改可能不会调用到此方法中。 
    此实现使用以下约定: toggle:false,extend:false。清除以前的选择并确保选定新的单元格。 
    toggle:false,extend:true。将以前的选择从定位点扩展到指定的单元格,清除所有其他选择。 
    toggle:true,extend:false。如果指定的单元格是选定的,则取消选定它。如果它不是选定的,则选定它。 
    toggle:true,extend:true。将定位点的选择状态应用于它与指定单元间的所有单元。 参数:
    rowIndex - 影响 row 的选择
    columnIndex - 影响 column 的选择
    toggle - 参见上面的描述
    extend - 如果为 true,则扩展当前的选择
    从以下版本开始:
      

  2.   

    jTable1.editCellAt(0, 0);
            jTable1.getEditorComponent().requestFocus();
            ((JTextField)jTable1.getEditorComponent()).selectAll();
      

  3.   

    //获得的值
       tableTile.addMouseListener (
    new MouseAdapter()
    {
    public void mousePressed(MouseEvent e)
    {

    int row=tableTile.rowAtPoint(new Point(e.getX(),e.getY()));
    int col=tableTile.columnAtPoint(new Point(e.getX(),e.getY()));
             String i= (String) modelTile.getValueAt(row, col);
            
             if(i==null)return;
    System.out.println("点击了"+row+"  "+col+"  "+Integer.parseInt(i));
    }