我想知道是否有可能检查一个事件是由另一个事件或手动生成的事件生成的。简而言之,假设我们点击任何按钮,如果我们编写代码以执行其他组件上的另一个事件,则执行内部操作,怎么能我知道哪个是由哪个生成的。 如何区分是基于事件生成的手动还是模拟????
public void actionPerformed(ActionEvent ae) { JComponent source =(JComponent)ae.getSource(); //这是手动点击事件的操作。 if(source == button1) { //这是生成模拟事件。 exitButton.doClick(); } //这是模拟事件的动作。 else if(source == exitButton) { System.exit(0); } }
答案 0 :(得分:0)
您可以通过检查自己的班级类型来区分自定义事件和其他事件。
if (catchedEvent instanceof MyCustomEvent){}
如果您有多个自定义事件,可以在MyCustomEvent类中设置eventCode以指示事件含义。
this link也可以帮到你。