Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.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 确定事件的任何方法,如eclipse应用程序中鼠标单击标题栏_Java_Eclipse_Swt - Fatal编程技术网

Java 确定事件的任何方法,如eclipse应用程序中鼠标单击标题栏

Java 确定事件的任何方法,如eclipse应用程序中鼠标单击标题栏,java,eclipse,swt,Java,Eclipse,Swt,我正在使用eclipse rcp和swt开发应用程序。我有一个列表,需要在标题栏的移动或用户单击标题栏时将其可见性设置为false。我找不到标题栏的任何事件。是否有标题栏事件,以便我解决问题?或者任何可能解决我问题的事情?我搜索了flex,但只能找到 function panelClick ( event:MouseEvent ) : void { trace( event.localX + '/' + event.localY ); } 使用eclispe的swt也有同样的情况吗。

我正在使用
eclipse rcp
swt
开发应用程序。我有一个
列表
,需要在标题栏的移动或用户单击标题栏时将其可见性设置为false。我找不到标题栏的任何事件。是否有
标题栏
事件,以便我解决问题?或者任何可能解决我问题的事情?我搜索了flex,但只能找到

function panelClick ( event:MouseEvent ) : void
{
    trace( event.localX + '/' + event.localY );
}
使用eclispe的swt也有同样的情况吗。
提前感谢。

当相应事件发生时,以下代码将输出“移动”和“最小化”:

public static void main(String[] args) {
    final Display display = new Display();
    final Shell shell = new Shell(display);
    shell.setLayout(new FillLayout());

    final Button dummy = new Button(shell, SWT.PUSH);
    dummy.setText("Dummy");

    shell.addListener(SWT.Move, new Listener() {

        @Override
        public void handleEvent(Event arg0) {
            System.out.println("Move");
        }
    });

    shell.addListener(SWT.Iconify, new Listener() {

        @Override
        public void handleEvent(Event arg0) {
            System.out.println("Minimize");
        }
    });

    shell.pack();

    shell.setSize(400, 300);

    shell.open();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch()) {
            display.sleep();
        }
    }
    display.dispose();
}

但是,
SWT.MOVE
事件仅在移动外壳后,即“移动”结束时触发。

为什么要这样做?我认为没有办法使用SWT。@oldrinb我使用某个文本框中的列表来搜索项目,因此当用户移动应用程序或最小化应用程序时,即使窗口缩小,列表也会被卡住。谢谢你的回答,实际上我正在扩展viewpart,所以我的类中没有shell。我正在寻找一种从我的类中获取shell的方法viewpart.@Dinupkandel是否要处理整个RCP的事件?i、 当整个窗口最小化时,我得到的shell是'shell sh=PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();'但当它被应用程序窗口旁边的另一个窗口重叠时出现问题。它在外部浮动,所以任何事件都可以处理它。@Dinupkandel我不太理解你的例子。也许给你的问题添加一个屏幕截图和更多细节。我马上就要找到解决方案了。其他项目有点忙。我会让你知道的。我会投票支持你的答案,如果我成功了,我会接受。谢谢巴兹