JTable中右键选中行并弹出菜单

//右击弹出菜单
			if (SwingUtilities.isRightMouseButton(e)) {
				JPopupMenu popMenu = null ;
				JTable table = (JTable) e.getComponent();
				//获取鼠标右键选中的行
				int row = table.rowAtPoint(e.getPoint());
				if (row == -1) {
					return ;
				}
				//获取已选中的行
				int[] rows = table.getSelectedRows();
				boolean inSelected = false ;
				//判断当前右键所在行是否已选中
				for(int r : rows){
					if(row == r){
						inSelected = true ;
						break ;
					}
				}
				//当前鼠标右键点击所在行不被选中则高亮显示选中行
				if(!inSelected){
					table.setRowSelectionInterval(row, row);
				}
				//生成右键菜单
				popMenu =  makePopup();
				popMenu.show(e.getComponent(), e.getX(), e.getY());
			}


当右键所在位置非选中行,则将选中行切换到鼠标右键位置对于的行。



  • 7
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值