1. 程式人生 > >java table右鍵點選事件

java table右鍵點選事件

  表格監聽步驟
  1 給表格 新增監聽addMouseListener
  2 使用MouseAdapter類的mouseClicked方法

  3 通過MouseEvent類物件的getbutton方法來判斷滑鼠操作 BUTTON1 為左鍵  BUTTON3 為右鍵

import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.Vector;

import javax.swing.*;
import javax.swing.table.DefaultTableModel;
public class TableSj extends JFrame{
	JTable table;
	DefaultTableModel tableM;
	JScrollPane jsp;
	JPopupMenu jpm;
	Vector<String> name = new Vector<String>();
	Vector<String> data = new Vector<String>();
	
	public static void main(String[] args) {
		// TODO 自動生成的方法存根
		new TableSj();
	}
	TableSj(){
		name.add("姓名");
		name.add("年齡");
		data.add("張三");
		data.add("19");
		tableM = new DefaultTableModel(name,0);
		tableM.addRow(data);
		tableM.addRow(data);
		table = new JTable(tableM);
		jsp = new JScrollPane(table);
		
		table.addMouseListener(new MouseAdapter() {
			public void mouseClicked(MouseEvent e){
				if (e.getButton() == MouseEvent.BUTTON3){
					//在table顯示
					jpm = new JPopupMenu();
					
					//表格 的rowAtPoint方法返回座標所在的行號,引數為座標型別,
					int i = table.rowAtPoint(e.getPoint());
					
					jpm.add(i+"");
					jpm.show(table, e.getX(), e.getY());
				}
			}
		});
		this.add(jsp);
		this.setVisible(true);
		this.setSize(400, 400);
		this.setDefaultCloseOperation(EXIT_ON_CLOSE);
	}
}