Java 如何显示特定时间(5秒)的文本框

Java 如何显示特定时间(5秒)的文本框,java,swt,Java,Swt,我正在为我的RCP应用程序中的视图实现CTRL+F功能。(使用SWT小部件) 为此,每当我按CTRL+F时,就会弹出一个小文本框,用于在视图中键入和搜索 但是,如果我不输入任何内容或不聚焦任何其他内容,它仍然会弹出 我只想显示5秒钟的时间。 那么,请有人能帮忙吗 提前谢谢 添加代码以获得更多澄清:- final Text findTextBox = new Text(viewer.getTable(), SWT.BORDER); if ((((e.stateMask & SWT.CTRL

我正在为我的RCP应用程序中的视图实现
CTRL+F
功能。(使用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);
    }

下面是一些仅利用基本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();
}

不是downvoter,原因可能是你没有添加代码。Sheetal,你只需要一个计时器。这可能是你需要的。只要把你想要的延迟时间和行动传递给它就行了。在行动中隐藏您的文本框。编辑问题,添加代码以获得更多澄清。对答案有任何反馈吗?非常感谢!为我工作!