0

我正在CTRL+F为我的 RCP 应用程序中的视图实现功能。(使用 SWT 小部件)为此,每当我按 CTRL+F 时,都会弹出一个小文本框,用于在视图中键入和搜索。

但是,如果我不输入任何内容或不关注其他任何内容,它仍然会弹出。

我只想显示 5 秒。所以,请任何人都可以帮忙吗?

提前致谢!

添加代码以进行更多说明:-

final Text findTextBox = new Text(viewer.getTable(), SWT.BORDER);
if ((((e.stateMask & SWT.CTRL) == SWT.CTRL) && (e.keyCode == 'f'))) {
    Rectangle rect = viewer.getTable().getBounds();
    findTextBox.setVisible(true);
    findTextBox.setFocus();
        findtextBox.setLocation(rect.x + rect.width -120, rect.y + rect.height - 25);
        findTextBox.setSize(120, 25);
    }
4

1 回答 1

2

下面是一些仅使用基本 Java 库和 SWT 的代码:

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

    final Text text = new Text(shell, SWT.BORDER);
    text.setVisible(false);

    final Runnable timer = new Runnable()
    {
        public void run()
        {
            if (text.isDisposed())
                return;

            text.setVisible(true);
        }
    };

    display.timerExec(5000, timer);

    shell.pack();
    shell.setSize(400, 200);
    shell.open();
    while (!shell.isDisposed())
    {
        if (!display.readAndDispatch())
        {
            display.sleep();
        }
    }
    display.dispose();
}
于 2013-10-01T13:01:24.830 回答