• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

olexmal

Como usar o JList

3 mensagens neste tópico

Ola a todos. Já a algum tempo tento perceber como usar o JList. Já consigo adicionar elementos usando Models, o que implica criar um novo Model meter todo conteúdo já existente la para dentro e adicionar o que eu queria adicionar. A minha duvida é seguinte existe alguma maneira mais simples de adicionar elementos para a JList? E como é possível saber se ela esta vazia?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não percebi bem a parte de criar um novo model quando queres adicionar elementos a uma lista.

Todos os componentes em Swing trabalham com modelos, vistas e controladores, aplicam o que se chama de padrão Model-View-Controller, ou MVC. Mesmo que o componente te forneça mecanismos de acesso aos dados sem que te pareça que estás a usar o modelo, na verdade, estás sempre, agora, em alguns componentes nem precisas saber disso, como no caso de JTextField, ou JLabel, mas no caso de componentes mais complexos, como JList, JTable, JComboBox, é normal que tenhas de trabalhar directamente com o modelo do componente.

Quanto a adicionar elementos à lista, só precisas criar o modelo uma única vez, depois disso, adicionas e removes elementos ao modelo consoante a necessidade, e a JList actualiza em conformidade automaticamente. Por exemplo:

DefaultListModel lm;
JList list;

list = new JList(lm);

//Adicionar strings
lm.addElement("Elemento 1");
lm.addElement("Elemento 2");
lm.addElement("Elemento 3");
lm.addElement("Elemento 4");

//Remover uma string pelo índice, pode ser removida pelo objecto
lm.remove(3);

Vê que métodos estão disponíveis na classe DefaultListModel, tens métodos para fazer tudo o que é necessário para editar os dados, desde inserir, remover, pesquisar, obter tamanho, enfim, tudo o que precisas é usar o modelo, mais nada.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Obrigado. Respondeu a minha duvida. Eu tentava sempre adicionar ou remover elemento directamente da lista e não de model.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora