阅读背景:

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());
			}//右击弹出菜单
			if (SwingUtilities.isRightMouseButt



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: