Melhor maneira

10 respostas
lina

Olá Pessoas!
Estou criando um JList, e gostaria da opinião de vocês, sobre
qual a melhor maneira de adicionar um valor (elemento) a ele.

Eu fiz assim:

//
// Cria a lista de elementos para o JList.
//
DefaultListModel 
modelo 		=	new DefaultListModel(); 
modelo.addElement("Teste");
		
//
// criação do JList, adicionando os elementos da lista.
//
io_lj_font	=	new JList();
io_lj_font.setBounds(10,40,150,100);
io_lj_font.setModel(modelo);
io_ct.add(io_lj_font);

Poderia ir adicionando por Vector’s também… mais não sei…
alguem tem alguma ideia melhor, pois não gostei dessa maneira de dar setModel toda vida… Com Vetores seria melhor e mais rapido para o funcionamento? pois isso está em uma tela, e não quero deixa-la pesada.
E também, vai servir para mais conhecimento.

Obrigado!
x)

10 Respostas

clodoaldoaleixo

Duas dúvidas,
Vc está com problemas de perfomance com esse código?
Vc é casada? :wink:

rodrigo_salla

Boa tarde, prezada lina…

Se eu fosse você, fugiria da classe Vector, nunca a usaria, acho ela ultrapassada. Tente as classes ArrayList, TreSet, HashMap, HashSet…

Rodrigo

H
if( eh_vc_mesma_na_foto && vc_faz_computacao ) {
    new Paradoxo();
} else {
    perguntaSeEhCasada();
}
R

me parece blefe

E

Só complementando oq o colega Einstein disse…A classe Vector, além de ser ultrapassada, é synchonized…Ou seja, tenta solucionar problemas de acesso multi-thread a ela, mesmo qdo só temos uma thread rodando…E isso sai caro, em termos de performance…

Mantu

Por favor, respeitem a colega e o fórum. Utilizem MPs para declarar suas paixões. Vamos manter o nível, ok? :thumbup:

Olá lina! Bemvinda ao GUJ!
Não há a necessidade de se “dar setModel” diversas vezes.
Ao definir uma primeira vez o modelo de um JList, você pode sempre recuperá-lo da seguinte forma:

ListModel myModel = myJList.getModel();

Tendo esse objeto ListModel “em mãos”, você faz as operações que necessita (adicionar, remover elementos, etc).
No seu código, você poderia em um primeiro momento - no construtor por exemplo - já setar o ListModel desejado ao seu JList

JList myJList = new JList(new DefaultListModel());
...

E sempre que precisar inserir, alterar, remover algum elemento, você passaria a fazer assim:

DefaultListModel myModel = (DefaultListModel)myJList.getModel();
myModel.addElement(...);
myModel.remove(...);
...

Uma solução um pouco melhor seria vc manter o modelo como um campo de sua classe:

class TesteJList{
   private JList myJList;
   private DefaultListModel myModel;
   ...
   public TesteJList(...){
      myModel = new DefaultListModel();
      myJList = new JList(myModel);
      ...
   }
   ...
}

Assim, sempre que vc necessitar manipular os elementos do myJList, você pode fazer isso direto pelo modelo myModel

public void adiciona(Objeto elemento){
   myModel.addElement(elemento);
}

Qq coisa, pergunte mais

T

No começo da Internet, quando 99,95% dos usuários eram geeks & nerds, as mulheres tinham de esconder seu sexo quando se inscreviam em listas na Usenet (newsgroups).
Muitas vezes elas usavam um id neutro (como Darcy ou Juraci), e isso que naquele tempo não havia avatares :stuck_out_tongue:

jcatino

thingol:
No começo da Internet, quando 99,95% dos usuários eram geeks & nerds, as mulheres tinham de esconder seu sexo quando se inscreviam em listas na Usenet (newsgroups).
Muitas vezes elas usavam um id neutro (como Darcy ou Juraci), e isso que naquele tempo não havia avatares :stuck_out_tongue:

Puxa, vc é quase tão velho quanto eu ! :slight_smile:
(eu ia falar de BBS, mas deixa para lá…)

T

jcatino:

Puxa, vc é quase tão velho quanto eu ! :slight_smile:
(eu ia falar de BBS, mas deixa para lá…)

Eu já tive uma conta na Mandic BBS, mas eu sou do tempo em que estavam aposentando as perfuradoras de cartão no mainframe usado na faculdade. No colegial o pessoal usava um “super-micro Sisco” ou coisa que o valha, para fazer a contabilidade e a correção das provas.

lina

Ok, Mantu muito obrigado!
Vou estudar o que você falou…
Você também Rodrigo.!

=)

thingol, realmente adimirava você… não queira dizer que todas as pessoas são assim, até porque você não me conhece, e não sabe quem eu sou…

T+

Criado 26 de dezembro de 2006
Ultima resposta 27 de dez. de 2006
Respostas 10
Participantes 9