如何通过代码选中JList索引并实现鼠标点击般的高亮效果?
JList编程选中指定索引并实现高亮效果
你现在用的brandsBgList.isSelectedIndex(Integer.valueOf(addmore))是用来判断指定索引是否处于选中状态的方法,根本不是设置选中的,这就是为啥没高亮的核心问题。按下面的步骤改就行:
- 用
setSelectedIndex真正设置选中状态:
int targetIndex = Integer.valueOf(addmore); brandsBgList.setSelectedIndex(targetIndex);
- 确保选中项在视图中可见(如果列表很长,选中项可能滚到视野外):
brandsBgList.ensureIndexIsVisible(targetIndex);
- 让JList获得焦点,这样才能触发类似鼠标点击的高亮样式:
brandsBgList.requestFocusInWindow();
如果你的JList是多选模式,也可以用setSelectedIndices(new int[]{targetIndex})来指定单个选中项,效果和上面一致。
内容的提问来源于stack exchange,提问作者JohnnyD
相关产品推荐
相关产品推荐

