java table右鍵點選事件
阿新 • • 發佈:2019-01-22
表格監聽步驟
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); } }