処理名称は一緒だが処理内容が異なるのなら、
(Wordなら、文字の削除とオートシェイプの削除、など)
ActionMapで振り分けるとか。

JPanel p1 = new JPanel();
p1.getActionMap().put("edit", new AbstractAction(){
 public void actionPerformed(ActionEvent e){
  // 編集時の処理
 }
};
p1.getActionMap().put("delete", new AbstractAction(){
 public void actionPerformed(ActionEvent e){
  // 削除時の処理
 }
};

のようなJPanelを用意しておいて、JPopupMenu表示時には
ActionMapからJMenuItemを組み立てる。こんな感じ
private JPopupMenu createMenu(ActionMap map){
 JPoppuMenu menu = new JPopupMenu();
 JMenuItem editItem = new JMenuItem("編集");
 if(map.get("edit") != null){
  editItem.setAction(map.get("edit"));
 } else {
  editItem.setEnable(false);
 }
 menu.add(editItem);
 // 以下略
 return menu;
}