0

我有一个登录视图,其中包含两个用于用户名和密码的文本字段以及一个指定要使用的数据库的 ComboBox。为了允许组合框中预定义的数据库以外的其他数据库,我使用 setCustomTextAllowed(true) 使其可编辑。每个输入都有一个附加的输入处理程序,以生成对登录按钮的点击。此按钮的单击处理程序使用字段和组合框的值进行服务器调用:

login(txtUser.getText(), txtPwd.getText(), cboDatabase.getText())

问题是组合框的 getText() 不会返回组合框的实际值,如果它已手动更改并且尚未失去焦点。就好像组合框的值在失去焦点之前不会写入模型。相反,它返回组合框中选择的最新预定义值。如何确保数据库值是用户看到的?

4

1 回答 1

0

我刚刚意识到这不是标准的 GWT 组件。我想我刚刚阅读了包的第一部分(org.gwt.advanced.client.ui.widget)并假设它是。我也发现了问题;已经有一个附加到组件的输入处理程序,它自动将最后选择的索引的值复制到文本字段。我还找到了一种使用 combobox.setEnterAction(EnterAction.DO_NOTHING); 禁用它的方法。有问题的图书馆(我认为):advanced-gwt.sourceforge.net

于 2013-10-25T14:16:20.193 回答