- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个通过添加到底层 listModel 动态填充的 jList。现在,如果我有三个字符串,它们的值我知道并且我知道
for(i=0;i<3;i++){
jList.setSelectedValue(obj[i],true);//true is for shouldScroll or not
}
似乎只有最后一项被选中...如果这不能完成并且我必须从基础模型中设置选择我应该怎么做???
另请注意 jList 具有选择模式:
jList.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
提前致谢
最佳答案
请注意,所有 xxSelectedValue 方法都是围绕 JList 上的 selectionModel(仅支持基于索引的选择访问)的便捷包装方法。不支持为每个值 设置多项选择。如果你真的想要它,你必须自己实现一个方便的方法。基本上,您必须遍历模型的元素,直到找到相应的索引并调用基于索引的方法,例如:
public void setSelectedValues(JList list, Object... values) {
list.clearSelection();
for (Object value : values) {
int index = getIndex(list.getModel(), value);
if (index >=0) {
list.addSelectionInterval(index, index);
}
}
list.ensureIndexIsVisible(list.getSelectedIndex());
}
public int getIndex(ListModel model, Object value) {
if (value == null) return -1;
if (model instanceof DefaultListModel) {
return ((DefaultListModel) model).indexOf(value);
}
for (int i = 0; i < model.getSize(); i++) {
if (value.equals(model.getElementAt(i))) return i;
}
return -1;
}
关于java - 如何使用 setSelectedValue 将多个项目设置为在 JList 中选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5961343/
我在使用 JList 类时遇到问题。我正在从 vector 获取数据来填充 JList,当我在屏幕上显示该列表时,该列表看起来很好。列表中包含表名,选中的就是要显示的表。所以项目结构是基于List的g
当我运行应用程序的主类时遇到问题。事实是 setSelectedValue 方法不起作用。主类的代码如下: DatabaseConnection.getInstance().connect("org.
myJList.setSelectedValue("someTHING", true); //if "SomeThing" in the list, it won't be selected 我想设置
我有一个通过添加到底层 listModel 动态填充的 jList。现在,如果我有三个字符串,它们的值我知道并且我知道 for(i=0;i=0) { list.addSelec
我是一名优秀的程序员,十分优秀!