Criar JList apartir de listas q estão em um vetor

Gente, eu tenho um vetor de listas que tem tamanho 5. Ou seja, em cada indice do meu vetor, eu tenho uma lista de strings. Eu quero um JList para cada uma dessas listas. Ou seja, criar um JList para a minha lista q tah no meu vetor v[0], outro JList para v[1] e assim sucessivamente. Alguem sabe uma forma de fazer isso?
Obrigada

Fazer um for não serve?

Com assim um for?
E q na verdade eu não sei o tamanho do vetor…

Todo vetor tem a propriedade length, que informa o próprio tamanho.
Ainda assim, nem ela você precisa para fazer um for.

Veja:

String x[] = new String{"a", "b", "c", "d"}; for (String str : x) { //Para cada String em x System.out.println(str); }

A lista (se for do tipo java.util.List) terá também um método chamado size() para obter o próprio tamanho.

mas como eu crio os JLists apartir dessas listas?

Você sabe como criar um único JList e posiciona-lo na tela, sem usar o construtor automático do Netbeans?

primeiramente vini, não sei se vc percebeu a diferença entre essa e a pergunta q fiz na parte de swing. Mas vá lá, deixa eu te explicar a “sutil” diferença. Aqui eu perguntei
como criar um JList a partir de uma LISTA que está em um vetor UNIDIMENSIONAL. Agora eu tenho um vetor BIDIMENSIONAL, como vc mesmo explicou como era para fazer, e apartir desse vetor BIDIMENSIONAL, eu quero criar JLists. Ou seja se eu tenho lá o meu vetor x[5][10], eu quero criar um JList para o vetor [0][0], outro para o [1][1] e assim sucessivamente. Creio que essa pergnta não tem muito a ver com a minha pergunta inicial desse tópico, motivo pelo qual eu criei uma novo tópico. Agora, como vc desativou aquele tópico, espero q e responda essa minha duvida aqui se possivel. Sem mais, obrigada.

Na verdade, você quer criar um JList a partir de uma lista. Não importa se a lista é bidimensional, tridimensional ou unidimensional, o processo será basicamente o mesmo, só aumentará o número de fors.

E a minha dúvida ainda persiste. Você sabe escrever o código para criar uma única lista, sem usar editores gráficos como o do netbeans? Por que se nem isso você souber, você terá muita coisa para aprender (como, por exemplo, como fazer para posicionar a lista na tela).

sei criar sim, pelo menos, eu faço assim:

 veiculo1=new JMenu("Veiculo A");
 barra.add(veiculo1);
 //sobre a lista1
 list1=new JList(v); // onde v é um vetor unidimensional
 list1.addListSelectionListener(new ListListener());
 //sobre o pane1
 pane1=new JScrollPane(list1);
 veiculo1.add(pane1);

Eu quero a mesma coisa soh q com um vetor bidimensional, entende?

na verdade o que eu quero é alguma coisa parecida com o q temos no word quando quewremos escolher uma fonte, mas que quero isso no meu menu. Ou seja, quero q o meu menu possua diversos JLists, mas que quero q eles tenham a barra de rolagem, assim eu os coloquei dentro de JScrollPanes.
O usuário que ira definir a quantidade de lists que eu chamei por qtdTipos. Ai eu tava pensando em fazer assim:

private JMenuBar barra=new JMenuBar();
private JMenu []jm;
private JList []jl;
private JScrollPane []jsp;

     public void addItens(){
            setJMenuBar(barra);
            jm = new JMenu[dm.getQtdTipos()];
            jl = new JList[dm.getQtdTipos()];
            jsp = new JScrollPane[dm.getQtdTipos()];
            for(int i=0;i<dm.getQtdTipos();i++){
                jm[i]= new JMenu("teste");
                barra.add(jm[i]);
                Set chaves = vetor[i].keySet();
                List lista = (List) chaves;
                jl[i]=new JList(lista.toArray());
                jl[i].addListSelectionListener(new ListListener());
                jsp[i]=new JScrollPane(jl[i]);
                jm[i].add(jsp[i]);
            }//end for
        }//end metodo

Soh q nem de longe funciona…
:frowning:

Esse código funciona? Pq vc está colocando um JScrollPane dentro de um JMenu. Geralmente, dentro de JMenus só vão JMenuItems.
Será que vc poderia postar um printscreen da interface que vc está querendo fazer?

funcionar funciona… mas quando eu soh não sei fazer com vetores bidimensionais… vou postar o print pra vc ver

Eu quero exatamente isso, mas ao inves desse nomes que aparecem na minha lista quando eu clico em veiculo B por exemplo, eu quero q aparecem os ids qua estão aramazenados em um vetor bidimensional…


Que dados tem no seu vetor bidimensional? E como eles deveriam ser mostrados nessa tela?

o meu vetor bidimenional é assim:

Map<String, NovosDados> listaDados = new TreeMap<String, NovosDados>();
Map<String,NovosDados>[]vetor;
String x[][] = new String[dm.getQtdTipos()][];   
public void treeToArray(){
         for(int i=0; i < vetor.length; i ++) {
            x[i]=new String[vetor[i].size()];
            Set chaves = vetor[i].keySet();
            Iterator it = chaves.iterator();
            while(it.hasNext()) {
                for(int j=0;j<vetor[i].size();j++){
                    x[i][j]=it.next().toString();
                    System.out.println("teste "+x[i][j]);
                }//end for
            }//end while
        }//end for
     }//end metodo

Ou seja, eu tenho um vetor de arores binarias q possuem objetos do tipo NovosDados. No código acima, eu peguei todos os ids e coloquei-os em um vetor bidimensional de Strings para q assim, eu possa acessar um unico vetor de cada vez e assim formar minhas JLIsts… vetor[0][0] deve formar a JList 1, o vetor[1][1] o JList 2 e assim sucessivamente