gpt4 book ai didi

java - GWT ListBox 默认未选中

转载 作者:搜寻专家 更新时间:2023-10-31 19:40:58 28 4
gpt4 key购买 nike

我有一个带有项目的 GWT 列表框:

listBox = new ListBox();
listBox.addItem("A");
listBox.addItem("B");
listBox.addItem("C");

我希望它最初是未选中的 - 这样就不会选择任何项目。最初没有选择应该用空文本来表示,并且在选择任何项目后用户不能选择“没有选择的项目”。

不幸的是下面一行:

listBox.setSelectedIndex(-1);

抛出 IndexOutOfBoundsException

是否可以使用 GWT ListBox 获得此类行为?

最佳答案

是的,这是正常情况,因为当您调用 setSelectedIndex() 时,它会检查索引是否在范围内。 ListBox 类中有方法。

 private void checkIndex(int index) {
if (index < 0 || index >= getItemCount()) {
throw new IndexOutOfBoundsException();
}
}

因此默认情况下将选择 0 个索引。如果要为第一项添加空文本项,请使用空字符串为零索引添加附加项:

listBox = new ListBox();
listBox.addItem(" ");
listBox.addItem("A");
listBox.addItem("B");
listBox.addItem("C");
listBox.addChangeHandler(new ChangeHandler() {
public void onChange(ChangeEvent changeEvent) {
SelectElement selectElement = listBox.getElement().cast();
selectElement.getOptions().getItem(0).setDisabled(true);

}
});

关于java - GWT ListBox 默认未选中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9533813/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com