Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.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 4 RCP禁用部分开关_Java_Eclipse_Swt_Eclipse Rcp_E4 - Fatal编程技术网

Java Eclipse 4 RCP禁用部分开关

Java Eclipse 4 RCP禁用部分开关,java,eclipse,swt,eclipse-rcp,e4,Java,Eclipse,Swt,Eclipse Rcp,E4,在我的纯E4应用程序中,我想强制用户在a中输入一些内容,然后才能继续。 当前,如果未在中输入任何内容并且触发了事件,则我会将焦点重置为。 通过I检查,如果输入的字符串等于,如果是,则显示a,告诉用户在输入中输入内容。 问题是,如果一个部件堆栈上有两个部件,并且第一个部件上有,那么用户仍然能够触发部件开关并在另一个部件上工作,而不必首先在第一个部件上的输入内容。 只要在第一部分中没有输入任何内容,如何禁止用户在这些部分之间切换? 我不想隐藏第2部分,应用程序看起来应该还是一样的,用户应该在输入内容

在我的纯E4应用程序中,我想强制用户在a中输入一些内容,然后才能继续。 当前,如果未在中输入任何内容并且触发了事件,则我会将焦点重置为。 通过I检查,如果输入的字符串等于,如果是,则显示a,告诉用户在输入中输入内容。 问题是,如果一个部件堆栈上有两个部件,并且第一个部件上有,那么用户仍然能够触发部件开关并在另一个部件上工作,而不必首先在第一个部件上的输入内容。 只要在第一部分中没有输入任何内容,如何禁止用户在这些部分之间切换?
我不想隐藏第2部分,应用程序看起来应该还是一样的,用户应该在输入内容之前不能做任何事情。

如果不想隐藏第2部分,请禁用该部分中的小部件。并在第1部分中显示一条消息,要求用户提供必要的输入。如果用户这样做,则隐藏该消息并启用小部件

例如:

if (!isInputSatisfactory())
{
    displayMessage("Invalid input");
    myButton.setEnabled(false);
}
else
    myButton.setEnabled(true);

因此,当您切换部件时,不会触发focus out事件?不会,只是再次测试它,它不会发送。