2012-02-19 3 views
0

У меня есть JTable, как с прикрепленным изображением enter image description hereПолучить JTable номер строки из всплывающего элемента

правой кнопкой мыши на строке начинается jPopup, с одним пунктом «Thread Stop».

Я хотел бы вернуть номер строки, щелкнув по этому пункту меню

Как это сделать?

Спасибо.

+0

Что вы планируете делать с номером строки? – trashgod

+0

Можете ли вы добавить код, в котором вы связываете содержимое jPopup «Thread Stop» с определенным номером строки? Кажется, вы можете связать их правильно, чтобы вы могли легко получить доступ к номеру строки. – Juvanis

ответ

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

+1 для более быстрого @Alberto acepsut посмотреть здесь http://stackoverflow.com/questions/7423533/jtable-with-jpopupmenu – mKorbel

2

Ваша реализация TableCellEditor включает строку в качестве параметра, но вы должны действовать только тогда, когда TableModel обновлен, как shown здесь. TablePopupEditor - родственный пример.