Action pasteAction = new DefaultEditorKit.PasteAction();
JPopupMenu popMenu = new JPopupMenu();
menuItem = new JMenuItem();
menuItem.addActionListener(pasteAction);
menuItem.addActionListener(searchAction);
menuItem.setText("Paste & Search");
popMenu
菜单显示出来;在鼠标右键点击JTextField
如何使一些动作依赖于另一个动作的完成?
pasteAction
已准备就绪。
searchAction
有代码检查JTextField
是否为空。如果不是空的,那么就搜索...
的问题是 - 我认为 - 在pasteAction
和searchAction
同时调用。无论pasteAction
已完成工作,都会调用searchAction
。所以当searchAction
被调用时检查JTextField
的内容;它发现它是空的!
如何使searchAction
依赖于pasteAction
的完成?
'问题是 - 我认为' - 调试可以告诉你究竟是否正确 – AdamSkywalker
@AdamSkywalker没有错误;只是同时调用的问题。好的,我将删除“我认为的” –
@AdamSkywalker当'JTextField'已经有一些文本时,'searchAction'会检测到'JTextField'不是空的并且去搜索OK。但是当'JTextField'为空时,点击menuItem,它会过去但不搜索,因为它检测到它为空。 –