我想在弹出菜单的同时,右键的单元格是选中状态,应该怎么操作?还有,多个单元格同时选中的话,右键不会取消选中,如何实现?请大侠指教!if (e.getSource() == primaryTable
&& e.getButton() == MouseEvent.BUTTON3) {
MyPopupMenu popup = new MyPopupMenu();
popup.show((Component) primaryTable, e.getX(), e.getY());
int column = primaryTable.columnAtPoint(e.getPoint()); 
int row = primaryTable.rowAtPoint(e.getPoint()); 
primaryTable.clearSelection();
primaryTable.editCellAt(row, column);}

解决方案 »

  1.   

    jtable.addMouseListener(new MouseAdapter() { @Override
    public void mousePressed(MouseEvent e) {
    // TODO Auto-generated method stub
    super.mousePressed(e);
    if (e.getButton() == MouseEvent.BUTTON3) {
    JPopupMenu popupmenu = new JPopupMenu();
    popupmenu.add(menuItem1);
    popupmenu.add(menuItem2);
    popupmenu.show(e.getComponent(), e.getX(), e.getY());
    }
    }
    });
      

  2.   

    我再说的清楚点,右键菜单我已经实现了,问题是我想弹出菜单的同时,被右键的单元格是选中状态,虽然用primaryTable.editCellAt(row, column);}
    在弹出菜单后单元格是编辑状态,但是再次右键就无效了,也就是说在单元格是编辑状态时,右键是无效的;
    另外就是,我拖选了多个单元格后,右键就取消了多选,应该如何解决?
      

  3.   

    你把clearselection这句去掉就可以了 使右键的单元格为选中状态了。
    你的多选会被取消也是因为这个方法,因为这个方法是取消选定的单元格
      

  4.   

    不是这样的,我加上这句是因为当我选中了一个单元格A,再右键单元格B的时候,单元格A仍是被选中状态。
    不过这一句应该去掉,但是上边的问题怎么解决呢?
    有点乱!
      

  5.   

    你右键菜单后,要做另外操作的对吧? 也就是在menuitem的Action里面加上clearselection就可以了。。