Boa madrugada galera… :XD:
E possível eu criar uma variável do tipo List dentro do escopo global de uma classe tipo essa -->>
[code]public class Teste
{
private List<Pecas> lista;
public void adicionar_Na_ListaactionPerformed(ActionEvent e)
{
…// AQUI DENTRO SERÁ INSERIDO NA LISTA APÓS O USUÁRIO CLICAR NESSE BOTÃO
}
public void deletar_Da_ListaactionPerformed(ActionEvent e)
{
… // AQUI DENTRO SERÁ REMOVIDO DA LISTA
// APÓS O USUÁRIO SELECIONAT UM ITEM DA JTABLE E CLICAR NESSE BOTÃO
}
}
[/code] e manipular inserção e deletação de itens dela dentro desses métodos???
ou seja, crio essa lista do tipo global e na tela tenho 2 botões, um de inserir na lista e o outro de remover da lista, é possível após eu clicar no botão inserir, os dados irem para essa lista ai do tipo global, por que ela não está local para o método, e a outra é caso eu selecione um dado da JTable ( TableModel) para deletar, após eu clicar no botão deletar essa dado ser deletado dessa lista do tipo global??? Caso essas paradas que falei acima sejam possíveis como sería???
VLW Turma…
corrijam-me se eu estiver errado, 1a resposta aqui no fórum:
1º) você pode sim acessar a lista nesses métodos (os métodos não são estáticos)
2º) para adicionar o item na lista você precisa passar o item como parâmetro para a função adicionar_NaListaActionPerformed(me parece que essa função é chamada no listener que vc registrou no botão, já que a assinatura do método não é a padrão e a classe não implementa nenhum listener).
3º) o mesmo para deletar o item da lista, só que nesse caso você vai precisar buscar pelo item na lista.
valeu e espero ter ajudado
Certo, esse dois métodos implementam um listernet, minha dúvida é se caso eu criar essa lista do tipo global, é possível eu inserir e remover itens dela atraves desses métodos ai, por as vezes quando vc cria uma variável global , taçlvez eu tava fazendo errado quando vc adiciona dados nela dentro de um método, e chama ela dentro de outro para ver os dados que estão nela, ja aconteceu comigo da variável global vim com valor nulo…
pois é então eu posso fazer isso ai que postei no início que sar certo né??? é pra uma tela de compras do meu sistema…
No java não existe o conceito de variável global.
Existe a variável de instância. Que vc terá acesso a ela em uma instância de sua classe.
private List<Pecas> lista; Para ter acesso a ela, vc precisa criar uma instância, e ela vai pertencer ao objeto criado, enquanto ele não for “destruido”.
E lembre-se também, toda lista deve ser inicializada, para não dar null pointer quando acessa-la.
Dai tem 2 formas, se vc fizer assim:
private List<Pecas> lista = new ArrayList<Pecas>();
Quando criar um objeto, sua lista ira incrementar elementos ou decrementa-los conforme vc for adicionando ou retirando elementos dentro do objeto criado.
Se vc fizer:
private List<Pecas> lista; e a cada método que precisar dela, usar
lista = new ArrayList<Pecas>(); dai vc reinicializa ela a cada new feito e perde os dados anteriores que foram inseridos.
Entendi, então para que eu possa adicionar e remover itens dela dentro dos métodos de addNaLista() e removerDaLista(), eu tenho que criar lá assim no escopo da classe private List<Pecas> lista = new Array<List>(), para que a medida que eu chamar ela no método addNaLista() para adicionar itens nela… caso eu crio ela dessa forma, a cada vez que eu chama- la dentro do método addNaLista() ela estará com os valores anteriores???
caso sim como faço para chama-la dentro do método addNaLista()???
Ela só terá os valores anteriores se for sempre referente ao mesmo objeto criado.
Tipo assim, vc tem a classe Teste, quando cria um objeto de Teste através de uma instancia
Teste t = new Teste();
Enquanto vc usar o objeto t, vai poder manipular sempre a mesma lista.
public class Teste
{
private List<Pecas> lista = new ArrayList<Pecas>();
public List<Pecas> getLista() {
return lista;
}
public void setLista(List<Pecas> lista) {
this.lista = lista;
}
public void adicionar_Na_ListaactionPerformed(ActionEvent e)
{
//Insere o que quer aqui
getLista().add("Ola Java");
}
public void deletar_Da_ListaactionPerformed(ActionEvent e)
{
//aqui passa o indice, a posição do que quer remover na lista
getLista().remove(2);
}
}
[quote=romarcio]Ela só terá os valores anteriores se for sempre referente ao mesmo objeto criado.
Tipo assim, vc tem a classe Teste, quando cria um objeto de Teste através de uma instancia
Teste t = new Teste();
Enquanto vc usar o objeto t, vai poder manipular sempre a mesma lista.
public class Teste
{
private List<Pecas> lista = new ArrayList<Pecas>();
public List<Pecas> getLista() {
return lista;
}
public void setLista(List<Pecas> lista) {
this.lista = lista;
}
public void adicionar_Na_ListaactionPerformed(ActionEvent e)
{
//Insere o que quer aqui
getLista().add("Ola Java");
}
public void deletar_Da_ListaactionPerformed(ActionEvent e)
{
//aqui passa o indice, a posição do que quer remover na lista
getLista().remove(2);
}
}
[/quote]
Entendi… mas é necessarios usar o método getLista() dentro do método de incluir e deletar, ou eu posso simplismente usar this.lista.add(valor)???
Se vc vai utilizar dentro da própria classe, pode usar o this, mas se pretende usar fora da classe é bom criar o método get.
Ok… vo testar aqui qualquer coisa aviso!!
Obrigado!