Eclipse 4 RCP禁用部件切换

时间:2014-09-17 08:47:47

标签: java eclipse swt eclipse-rcp e4

在我的(纯)E4应用程序中,我想强制用户在Text Field之前输入内容,然后才能继续前进。

目前,如果Text Field没有输入任何内容且触发focusLost事件,我会将焦点重置为Text Field。 通过ModifyListener我检查,如果输入的字符串等于“”,如果是,则显示fake tooltip,告诉用户在Text Field中输入内容。

问题是,如果我在PartStack上有两个部件并且Text Field在我的第一个部件上,则用户仍然可以触发部件切换并在另一个部件上工作而无需在{{{{{ 3}}在第一部分首先。

如果在第一部分的Text Field中没有输入任何内容,如何禁止用户在这些部分之间切换?
我不想隐藏第2部分,应用程序应该看起来仍然相同,用户应该无法做任何事情,直到某些内容输入Text Field

1 个答案:

答案 0 :(得分:0)

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

例如:

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