java - 任何确定事件的方法,例如在 Eclipse 应用程序中单击标题栏的鼠标

标签 java eclipse swt

我正在使用 eclipse rcpswt 来开发应用程序。我有一个 list 并且我需要在移动时将其可见性设置为 false标题栏或当用户单击 titleBar 时。我无法找到 titleBar 的任何事件。是否有任何 titleBar 事件可以解决我的问题?或者有什么可能可以解决我的问题吗?我搜索过,但只能找到 Flex 作为

function panelClick ( event:MouseEvent ) : void
{
    trace( event.localX + '/' + event.localY );
}

使用 eclispe 的 swt 是否有同样的事情? 提前致谢。

最佳答案

以下代码将在相应事件发生时输出“Move”和“Minimize”:

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 事件仅在 shell 移动之后(即“移动”结束时)才会触发。

关于java - 任何确定事件的方法,例如在 Eclipse 应用程序中单击标题栏的鼠标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12337343/

相关文章:

java - 如何获取swt表格上任意控件的文本内容

java - Android - 在 XML 中扩展自定义 View 时出错

java - 同一项目但在不同工作区中的新编译器问题

java - java 集合的不可修改包装器是否使它们成为线程安全的?

java - 无法将程序作为 Silk4J 测试运行

java - 一旦应用程序启动并完成执行,Eclipse 如何收到通知?

基于 Java 的 Swing 浏览器应该支持 JavaScript

java - 如何更改 ScrolledComposite 的水平滚动增量?

java - 需要开源进行文件处理

java - JSTL:在自定义标签中使用 scriptlet