它似乎是well-known使用JMenuItem.getRootPane()時有一個錯誤。 我讀了錯誤描述,但我找不出解決方法。 您是否知道Action.actionPerformed()方法中的解決方法?JMenuItem.getRootPane()解決方法?
更新:我現在得到這個,但不適用於子菜單。
public void actionPerformed(ActionEvent e) {
Component c = (Component) e.getSource();
if (c instanceof JMenuItem) {
c = ((JPopupMenu)((JMenuItem)c).getParent()).getInvoker();
}
Component z = SwingUtilities.getRootPane(c);
}
我有這個之前,但我不認爲代碼是重要的更容易閱讀,我不能使用默認的Action構造w/o參數。謝謝。 – PeterMmm 2009-08-31 09:56:32