private JPopupMenu createIbpContextMenu(final int rowIndex, final int columnIndex) { JPopupMenu contextMenu = new JPopupMenu(); ItemsByProject itemsByProject = ibps.get((String) ibpTb.getValueAt(curRow, 0)); JMenuItem countAllMenuItem = new JMenuItem(); countAllMenuItem.setText("Count All"); countAllMenuItem.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { countAll(); } }); contextMenu.add(countAllMenuItem); JMenuItem copyAsHtmlMenuItem = new JMenuItem(); copyAsHtmlMenuItem.setText("Export to HTML"); copyAsHtmlMenuItem.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { GestConfFrame.getInstance().saveAsHtml("Items Per Project Report", ibpTb); } }); contextMenu.add(copyAsHtmlMenuItem); JMenuItem printMenuItem = new JMenuItem(); printMenuItem.setText("Print"); printMenuItem.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { try { ibpTb.print(JTable.PrintMode.FIT_WIDTH); } catch (PrinterException e1) { // TODO to-generated catch block e1.printStackTrace(); } } }); contextMenu.add(printMenuItem); return contextMenu; }