最近在寫一個列表,每個按鈕都有自己的 popup menu,但是每一個 popup menu 卻都是一樣的,如果每次都做一個新的實在很浪費空間。所以就想到只做一個,再利用 JPopupMenu 來取得觸發的按鈕,來達到分辨不同元件的功能。

JMenuItem menuItem = new JMenuItem("test"); menuItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { System.out.println(e.getSource()); // JMenuItem System.out.println(((JMenuItem)e.getSource()).getParent()); // JPopupMenu System.out.println(((JPopupMenu)((JMenuItem)e.getSource()).getParent()).getInvoker()); // JLabel System.out.println(((JLabel)((JPopupMenu)((JMenuItem)e.getSource()).getParent()).getInvoker()).getText()); } }); JPopupMenu popupMenu; popupMenu.add(menuItem);

台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()