JList + JScrollPane

7 respostas
sk2ck

pessoal estou conseguindo colocar o scrollpane em um JList da seguinte maneira:

add(new JScrollPane(colorJList));

sendo que colorJList é um JList e eu importei JScrollPane. Desse jeito, ta funcionando belezinha. Só que eu fui dar uma olha na API e lá eles ensinam de uma maneira diferente. Do jeito que a API ensina http://java.sun.com/j2se/1.5.0/docs/api/ meu codigo ficaria da seguinte maneira:

JScrollPane scrollPane = new JScrollPane(colorJList); // dessa forma compila, mas não aparece o scrollpane no JList colorJList
 // Or assim
 JScrollPane scrollPane = new JScrollPane(); 
 scrollPane.getViewport().setView(colorJList); // dessa forma, nem deixa compilar!!!
add(colorJList);

só que quando faço dessa maneira o scroollpane não aparece. Eu gostaria de saber o que to errando, alguém pode me dizer por favor???

7 Respostas

ViniGodoy

Não há problema nenhum na forma que você está usando.

O problema do seu segundo método é que você coloca a lista em cima do scroll pane, mas não coloca o scroll pane no painel.

Troque a linha do add para add(scrollPane) e já deve funcionar.

sk2ck

realmente funcionou mesmo!!! só que surgiu um outra duvida. No seguinte codigo:

JScrollPane scrollpane = new JScrollPane(colorJList); add(scrollpane);

eu estou adicionando scrollpane, não estou adicionado colorJList. Como colorJList aparece então??? sendo que seu eu mudar o codigo para:

JScrollPane scrollpane = new JScrollPane(); // -> sem colorJList add(scrollpane);

não aparece scrollpane, nem colorJList apesar de estar adicionando scrollpane…

LG11

acho que vc está usando um exemplo do deitel 6 edição. estou com ele em mãos e os nomes das variaveis são exatamente iguais.

também estou intrigado…
eu adiciono o JList no painel… e ele não aparece…
( o exemplo do deitel adiciona o JList numa JFrame sem o JPainel, necessito com* o JPanel. )

eu faço assim:
Text[] --> dentro de --> JScrollPane --> que vai dentro do --> JList

mas não da certo.
Porque o JList so da certo no frame sem o JPanel!? eu ja tentei vários jeitos de adiciona-lo no JPanel, mas ele não aparece. Ja li a API dele. mas não vi nada que poxa me auxiliar para incluí-lo no JPanel.

sk2ck

sim… estou usando Deitel 6 edição.

guilhermetonetto

não irá aparecer pois a scroll tem que ter um componente para ela se “encaixar” junto no caso JList

[]'s

sk2ck

agora eu entendi… o construtor de JScrollPane(), quando fornecido um Component view, ele já adiciona o Component view ao adicionar o JScrollPane(). E tentar adicionar só o JScrollPane sem um Component view, não consegue-se por que falta um component para que o scroll possa ser exibido e utilizado. Obrigado pessoal pela ajuda…

LG11

teria um exemplo do codigo!?
eu entendi ma to meio confuso aqui.

Criado 13 de janeiro de 2008
Ultima resposta 14 de jan. de 2008
Respostas 7
Participantes 4