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

olexmal

Como usar o JList

Recommended Posts

olexmal

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?

Share this post


Link to post
Share on other sites
Knitter

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.

Share this post


Link to post
Share on other sites
olexmal

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.