我想知道是否可以检查一个事件是由另一个事件还是手动生成的事件生成的。简而言之,假设我们单击任何按钮,如果我们编写代码以在其他组件上生成另一个事件,则执行内部操作,我如何知道哪个是由哪个生成的。如何根据生成的事件区分是手动还是模拟????
公共无效操作已执行(操作事件ae) { JComponent source =(JComponent) ae.getSource(); 这是手动单击事件的操作。 if(源 == 按钮 1) { 这是为了生成模拟事件。 exitButton.doClick(); } 这是模拟事件的操作。 否则如果(源 == 退出按钮) { 系统退出(0); } }
您可以通过检查自定义事件的类类型来区分自定义事件和其他事件。
if (catchedEvent instanceof MyCustomEvent){}
如果有多个自定义事件,则可以在 MyCustomEvent 类中设置 eventCode 来指示事件含义。
此链接也可能对您有所帮助。