Java 如何检测EclipseRAP应用程序中何时打开了JFace对话框(或其他模式组件)?
在我的EclipseRAP应用程序中,我需要让一个组件在任何其他组件打开对话框(或前台的任何其他元素)时改变它的外观。发生这种情况时,如何让组件进行检测?我尝试过使用Display.addListener/addFilter,但当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
[另一方面,原因是此组件包含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() );
}
} );