从弹出项中获取jTable行号

时间:2012-02-19 18:45:09

标签: java swing jtable jpopupmenu

我有一张jTable,如附图enter image description here

右键单击一行会启动一个jPopup,其中包含一个“Thread Stop”项。

我想通过点击此菜单项

返回行号

如何做到这一点?

感谢。

2 个答案:

答案 0 :(得分:6)

在显示弹出窗口的MouseListener中,只需通过JTable方法获取行号和列号:

  table.addMouseListener(new MouseAdapter() {
     @Override
     public void mousePressed(MouseEvent e) {
        Point p = e.getPoint();
        int row = table.rowAtPoint(p);
        int col = table.columnAtPoint(p);

        System.out.printf("row, col: [%d, %d]%n", row, col);

        // show pop-up menu here

     }
  });

答案 1 :(得分:2)

TableCellEditor的实施将行作为参数包含在内,但您应该仅在更新TableModel时采取行动,此处为shownTablePopupEditor是一个相关的例子。