Vê se vcs podem me ajudar… tenho um sistema(tela gráfica) que estou utilizando o hashMap para criar uma lista de funcionários.
Nesta mesma tela, eu tenho um botão “visualizar” que aponta para um outro JFrame(“exibir”) onde eu passo como paramêtro o nome da minha Lista;
Por exemplo, eis o código que eu estou utilizando para gerar o JFrame “exibir”
Exibir e = new Exibir(Lista); //
e.show();
Quando eu chego na tela exibir, eu só consigo acessar os dados da lista se eu chamar ela dentro do método Exbir. Se eu criar outro método e tentar acessa-la eu não consigo.
Esse metodo “Exibir” de que vc fala provavelmente é o construtor da classe.
Se vc quiser acessar essa lista em outros metodos na classe, vc tera que armazenar essa referencia dentro da classe.
Crie uma variavel de instancia dentro da classe, e atribua no construtor.
Ex:
public class Exibir extends JFrame {
private Map map; // Aqui esta sua variavel de instancia, que fara a lista ser visivel em outros metodos
public Exibir( HashMap map ) {
this.map = map;
}
private void metodoQueVeOMap() {
System.out.println( map.get(0) );
}
}
“variavel de classe” é um termo relacionado a variaveis static. Nao se aplica no caso.
Creio que o mais apropriado é “variavel de instancia” mesmo (global)
o metodo "exibir’ q vc fala de ve ser o construtor de JFrame… -.-’
provavelmente ele deve estar assim:
public void exibir(HashMap lista){
/* aqui vc cria a "telinha" */
}
bom isso ai realmente vc so vai consegui acessar localmente pois lista e um variavel local… -.-'
pra vc acessar de outro metodo vc precisa fazer assim;
private HashMap lista;
public void exibir(HashMap lista){
this.lista = lista;
/* aqui vc cria a "telinha" */
}
bom acho q eh isso q vc quer , não?
a respeito do Frame não usa o .show usa o .setVisible(true)
tipo…