private WindowMenuItem findOwnerItem() { for (WindowMenuItem i : persistentItems) { if (i.getJFrame() == owner) { return i; } } for (WindowMenuItem i : transientItems) { if (i.getJFrame() == owner) { return i; } } return null; }
void addMenuItem(Object source, WindowMenuItem item, boolean persistent) { if (persistent) { persistentItems.add(item); } else { transientItems.add(item); } item.addActionListener(myListener); computeContents(); }
@Override public void actionPerformed(ActionEvent e) { Object src = e.getSource(); if (src == minimize) { doMinimize(); } else if (src == zoom) { doZoom(); } else if (src == close) { doClose(); } else if (src instanceof WindowMenuItem) { WindowMenuItem choice = (WindowMenuItem) src; if (choice.isSelected()) { WindowMenuItem item = findOwnerItem(); if (item != null) { item.setSelected(true); } choice.actionPerformed(e); } } }