jList

11 respostas
acidmud

Ola galera, gostaria de um help.
pois nao estou conseguindo inserir dados na minha jList

como faria p/ enviar o conteudo de um jTextField pra jList ?
fiz:

String txt = jTextField1.getText(); jList1.add(txt);

aparece este erro:

symbol  : method add(java.lang.String)

location: class javax.swing.JList

jList1.add(nome);

1 error

agradeço desde ja!

abrçs!

11 Respostas

Zakim

De uma olhada nesse erro! jList1.add(nome);? o que é a variavel nome? Verifique o tipo dela

ViniGodoy

Você deve manipular a lista através ListModel, não da classe JList.

acidmud

galera, fiz assim agora :

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

String txt = jTextField1.getText();
DefaultListModel model = new DefaultListModel();
JList jList1 = new JList(model);
model.addElement(txt);
}

so q quando clico no botao. ele nao add no jlist o conteudo da variavel txt =/

como resolver isto ?
agradeço desde ja !

ViniGodoy

Por que você está criando um JList e um model toda vez?

Você deve utilizar o model já criado, na inicialização da janela. Guarde-o numa propriedade, assim como vc fez com o JTextField.

acidmud

opa ViniGodoy,
agora funcionou..

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

String txt = jTextField1.getText();
DefaultListModel model = new DefaultListModel();
jList1.setModel(model);
model.addElement(txt);
}

obrigado ;)

ViniGodoy

Você também não precisaria ficar criando models novos, e dar o set toda vez.
Basta guardar o seu model numa propriedade também.

Seu código ficaria simples assim:

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { model.addElement(jTextField1.getText()); }

acidmud

ah ta ViniGodoy, sakei !

outra duvida :smiley:
tipo, como adiciono na jlist incrementando ?
colocando em cada linha na list ?

pq quando clico no botao ele adiciona, e se escrever outro txt ele apaga.

:wink:

ViniGodoy

Isso é pq vc tá criando um model novo… o model novo não tem nada do antigo. Aí vc só adiciona o texto recém digitado.

Se vc fizer que nem eu fiz ali em cima, ele só vai adicionar no list. Pq o model antigo fica preservado, e vc só dá um add nele. :wink:

acidmud

ViniGodoy,
vlw mais uma vez…

agora ficou finoooo :lol:
criei o model fora do actionlistner e depois so chamei o metodo :wink:

obrigado !
abrçs

ViniGodoy

O segredo é sempre trabalhar com o model. Seja no JList, JComboBox e, principalmente, no JTable.

É uma boa também vc aprender a fazer seu próprio model, ao invés de trabalhar com o Default. Especialmente no caso do JTable (no combo e no list dá trabalho para pouco resultado, mas é útil saber que dá para fazer isso de vez enquando).

acidmud

ViniGodoy:
O segredo é sempre trabalhar com o model. Seja no JList, JComboBox e, principalmente, no JTable.

É uma boa também vc aprender a fazer seu próprio model, ao invés de trabalhar com o Default. Especialmente no caso do JTable (no combo e no list dá trabalho para pouco resultado, mas é útil saber que dá para fazer isso de vez enquando).

eh verdade.
dpois irei me aventurar a aprender a criar meu proprio model ;D
abrçs :wink:

Criado 21 de junho de 2008
Ultima resposta 23 de jun. de 2008
Respostas 11
Participantes 3