右键单击选择行jTable

时间:2016-01-25 03:11:38

标签: java jtable mouseevent mouselistener right-click

我一直试图让我的动作监听器选择鼠标右键单击的行。我提到了很多帖子,其中有些是:

Stack overflow

Code Guru

Code Ranch

继承我的代码:

t1是表格的名称

public void clickListener(){
        final RowPopUp pops = new RowPopUp(jTable1);
        jTable1.addMouseListener(new MouseAdapter(){
            public void mouseClicked(MouseEvent me){
                if(SwingUtilities.isRightMouseButton(me)){
                    int row = jTable1.rowAtPoint( me.getPoint() );
                    jTable1.changeSelection( row, 0, false, false );

                    pops.getRow(jTable1.getSelectedRow());
                    pops.show(me.getComponent(),me.getX(),me.getY());   
                }
            }
        });
    }

现在发生了什么。

当我右键单击没有选定行的表格时,我收到Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: -1错误,但是当我的表上有一个现有的选定行时,代码正常工作,并在我右键单击的行中选择。

我想要实现的是当我右键单击行中的任何地方时,即使没有选定的行,也会选择我右键单击的部分。任何想法如何运作?

0 个答案:

没有答案