Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何检测EclipseRAP应用程序中何时打开了JFace对话框(或其他模式组件)?_Java_Eclipse_Web Applications_Jface_Eclipse Rap - Fatal编程技术网

Java 如何检测EclipseRAP应用程序中何时打开了JFace对话框(或其他模式组件)?

Java 如何检测EclipseRAP应用程序中何时打开了JFace对话框(或其他模式组件)?,java,eclipse,web-applications,jface,eclipse-rap,Java,Eclipse,Web Applications,Jface,Eclipse Rap,在我的EclipseRAP应用程序中,我需要让一个组件在任何其他组件打开对话框(或前台的任何其他元素)时改变它的外观。发生这种情况时,如何让组件进行检测?我尝试过使用Display.addListener/addFilter,但当JFace对话框打开时,这些函数不会获取事件 [另一方面,原因是此组件包含Java小程序,Java小程序不遵循z顺序,因此小程序显示在前台对话框的顶部。]如果为SWT.Activate事件添加显示过滤器,则应通知您每个激活的shell,包括JFace对话框。这适用于RA

在我的EclipseRAP应用程序中,我需要让一个组件在任何其他组件打开对话框(或前台的任何其他元素)时改变它的外观。发生这种情况时,如何让组件进行检测?我尝试过使用Display.addListener/addFilter,但当JFace对话框打开时,这些函数不会获取事件


[另一方面,原因是此组件包含Java小程序,Java小程序不遵循z顺序,因此小程序显示在前台对话框的顶部。]

如果为
SWT.Activate
事件添加显示过滤器,则应通知您每个激活的shell,包括JFace对话框。这适用于RAP 2.0 M3,但也适用于早期版本

display.addFilter( SWT.Activate, new Listener() {
  public void handleEvent( Event event ) {
    System.out.println( display.getActiveShell() );
  }
} );