我一直试图让我的动作监听器选择鼠标右键单击的行。我提到了很多帖子,其中有些是:
继承我的代码:
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
错误,但是当我的表上有一个现有的选定行时,代码正常工作,并在我右键单击的行中选择。
我想要实现的是当我右键单击行中的任何地方时,即使没有选定的行,也会选择我右键单击的部分。任何想法如何运作?