比如从数据库得到一个list,内容是0310-AUTHBATINS-SUC-000023-YYYYMMDD
                                0310-AUTHBATINS-SUC-000024-YYYYMMDD
jlist内容是0310-AUTHBATINS-SUC-000023-YYYYMMDD
           0310-AUTHBATINS-SUC-000024-YYYYMMDD
           0310-AUTHBATINS-SUC-000025-YYYYMMDD
           0310-AUTHBATINS-SUC-000026-YYYYMMDD
           0310-AUTHBATINS-SUC-000027-YYYYMMDD
然后设置让jlist选中list的内容,就是让值为0310-AUTHBATINS-SUC-000023-YYYYMMDD, 0310-AUTHBATINS-SUC-000024-YYYYMMDD的两项为选中状态,所要选中内容在jlist中可能为不连续状态

解决方案 »

  1.   

    jList.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
      

  2.   

    不知道楼主说的选中状态是什么意思.如果找到两个list相同的值的下标,可以循环list,然后在jlist中找到对应下标,根据下标进行后续操作.
    for(String s : list){
       int index = jlist.indexOf(s);
    }
      

  3.   

    我现在就是想得到对应的值在jList中的下标,但就是不知道如何得到,并且没有找到indexof方法,
    我就是有一个表格里有很多商户信息,当鼠标任意选中一行时上面的各个相应的文本框显示相应的数据,方便用户修改,文本框的值很好设,但这个下拉框我怎么做都只能选中一行,不能选中多行,但商户文件名是有多个的,我就是想实现当点击到当前商户时,该商户对应的所有文件名在下拉列表中都能显示为选中状态,下拉列表的内容就是所有商户的所有文件名的汇总
      

  4.   

    建议你好好看看api,里面什么都有,你只是不熟悉而已
      

  5.   

    就是在api里找不到合适的方法了才发帖问有没有人能帮忙嘛,本人是个新手,对很多方法都不熟悉,所以也麻烦各位帮帮忙了,我的列表框是JList不是List所以调用不了indexof方法
      

  6.   

    希望二楼再帮帮忙,我用的是jlist
      

  7.   

    问题解决,按照2楼的思路,先得到下标数组,再用setSelectedIndices方法解决
    部分代码如下:
    private List filesname=null;
    private int[] select;
     private DefaultListModel listModel;
    filesname= new Connfileconfig().getFilesname(id);//从数据库读取要选择的所有文件名
    select=new int[filesname.size()];//定义一个长度为文件名数组长度的int型数组,用来存放文件名在下拉框中的对应下标,必须设置长度,不然会报空指针异常
    for(int i=0;i<filesname.size();i++){
      int index=listModel.indexOf(filesname.get(i)); //取出文件名对应的下标    
       select[i]=index;//数组加载下标             
    }
    jList.setSelectedIndices(select);//设置下拉框被选中项
    我的下拉框是jList = new JList(listModel);
    jlist是不能调用indexOf方法的,但listModel可以