Boa noite pessoal.
Preciso de ajuda para resolver este problema não sei se ainda falta mais estudo ou se realmente é complicado trabalhar com tabelas.
Bom é o seguinte estou tentanto mostrar informações de veículos em uma tabela eu consigo faze-las aparecer só que quando adiciono um novo registro ele duplica o segundo, triplica o terceiro e assim por diante, acredito que seja pelo método não estar estático só que quando eu coloco o valor static ele mostra o erro non-static variable mapa cannot be referenced from a static context[code]package trabalho01;
import java.util.HashMap;
import java.util.Set;
import javax.swing.JOptionPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
public class Cadastro {
private HashMap<Integer, Veiculo> mapa;
public Cadastro() {
mapa = new HashMap<Integer, Veiculo>();
}
public static void tabela(JTable tabela) {
DefaultTableModel modelo = (DefaultTableModel) tabela.getModel();
Set<Integer> chaves = mapa.keySet();
for (Integer chave : chaves) {
Veiculo v = mapa.get(chave);
modelo.addRow(new Object[]{
v.getMarca(),
v.getModelo(),
v.getProprietario(),
v.getPlaca(),
v.getVaga()
});
}
if (modelo.getRowCount() == 0) {
JOptionPane.showMessageDialog(null, "Nenhum registro encontrado");
}
}
}
[/code]depois tentei deixar a variável estática só que não ajudou muito o Veiculo v continua com o mesmo erro[code]package trabalho01;
import java.util.HashMap;
import java.util.Set;
import javax.swing.JOptionPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
public class Cadastro {
private HashMap<Integer, Veiculo> mapa;
private static Set<Integer> chaves;
public Cadastro() {
mapa = new HashMap<Integer, Veiculo>();
chaves = mapa.keySet();
}
public static void tabela(JTable tabela) {
DefaultTableModel modelo = (DefaultTableModel) tabela.getModel();
for (Integer chave : chaves) {
Veiculo v = mapa.get(chave);
modelo.addRow(new Object[]{
v.getMarca(),
v.getModelo(),
v.getProprietario(),
v.getPlaca(),
v.getVaga()
});
}
if (modelo.getRowCount() == 0) {
JOptionPane.showMessageDialog(null, "Nenhum registro encontrado");
}
}
}
[/code]Como posso deixar o método estático e não perder a função de chamar a chave do mapa para pegar o objeto com os dados do veículo?