Vaadin:强制按钮被视觉禁用
我在一个窗口内有几个文本字段以及一个按钮,例如aButton。 文本字段、按钮和窗口都有setImmediate(True) 当TextField失去焦点时,将执行一些验证代码,如果失败,则调用: aButton.setEnabled(假) 当在一个文本字段中输入不正确的数据,然后焦点丢失时,调试器显示调用了aButton.setEnabled(False),但aButton看起来仍然处于启用状态 从这里可能会发生两件事: 1.)如果修改另一个文本字段中的数据并退出该字段(失去焦点),则该字段的验证可能成功或失败,但系统知道调用aButton.setEnabled(False),因为前一个文本字段仍然无效。但这一次,阿布顿的视力被禁用了 2.)如果单击可视启用的桥头,则会产生此警告,然后可视禁用: 警告:忽略禁用组件的变量更改Vaadin:强制按钮被视觉禁用,vaadin,Vaadin,我在一个窗口内有几个文本字段以及一个按钮,例如aButton。 文本字段、按钮和窗口都有setImmediate(True) 当TextField失去焦点时,将执行一些验证代码,如果失败,则调用: aButton.setEnabled(假) 当在一个文本字段中输入不正确的数据,然后焦点丢失时,调试器显示调用了aButton.setEnabled(False),但aButton看起来仍然处于启用状态 从这里可能会发生两件事: 1.)如果修改另一个文本字段中的数据并退出该字段(失去焦点),则该字段的
VerticalLayout vlTestContent = new VerticalLayout();
final Button butChangeMe = new Button("Enabled");
final TextField tf = new TextField("Blur", "default value");
tf.addBlurListener(new BlurListener() {
private static final long serialVersionUID = 5544993392287938660L;
@Override
public void blur(BlurEvent event) {
butChangeMe.setCaption("Disabled");
butChangeMe.setEnabled(false);
}
});
Button but = new Button("Change button", new ClickListener() {
private static final long serialVersionUID = -2235317499126190105L;
@Override
public void buttonClick(ClickEvent event) {
butChangeMe.setCaption("Enabled");
butChangeMe.setEnabled(true);
}
});
vlTestContent.addComponent(butChangeMe);
vlTestContent.addComponent(tf);
vlTestContent.addComponent(but);