fala galera preciso inserir em um hashmap a partir dos dados digitados numa JTextField,
alguem pode me ajudar, abraços a todos…
public class TelaIMC extends JFrame implements ActionListener {
/**
*
*/
private static final long serialVersionUID = 1L;
private JButton btCalcular, btPesquisar, btCancelar, btLimpar;
private JLabel lbNome,lbBuscarNome, lbIdade, lbPeso, lbAltura, lbLinha, lbCodigo, lbResultado;
private JTextField txNome, txIdade, txPeso, txAltura, txBuscarNome, txCodigo;
private JPanel pnDados, pnResultado;
private String situacao = "";
private Imc obterClassi;
private Formatter f;
private HashMap<Integer, Pessoa> pessoa;
public TelaIMC(){
Imc im = new Imc();
obterClassi = im;
setTitle("Calcular IMC");
setSize(340, 340);
pnDados = new JPanel();
pnDados.setLayout(null);
pnDados.setBounds(0, 0, 340, 190);
pnDados.setBackground(Color.LIGHT_GRAY);
pnResultado = new JPanel();
pnResultado.setLayout(null);
pnResultado.setBounds(0, 191, 340, 100);
pnResultado.setBackground(Color.LIGHT_GRAY);
lbNome = new JLabel(" Nome:");
lbNome.setBounds(10, 10, 50, 20);
lbCodigo = new JLabel(" Código:");
lbCodigo.setBounds(250, 10, 50, 20);
lbIdade = new JLabel(" Idade:");
lbIdade.setBounds(250, 60, 50, 20);
lbPeso = new JLabel(" Peso:");
lbPeso.setBounds(10, 60, 50, 20);
lbAltura = new JLabel(" Altura:");
lbAltura.setBounds(130, 60, 50, 20);
lbBuscarNome = new JLabel(" Buscar por nome:");
lbBuscarNome.setBounds(10, 140, 120, 20);
lbLinha = new JLabel("===========================================================");
lbLinha.setBounds(0, 185, 340, 5);
lbResultado= new JLabel(" Resultado");
lbResultado.setBounds(130, 195, 120, 20);
pnResultado.add(lbResultado);
pnDados.add(lbCodigo);
pnDados.add(lbLinha);
pnDados.add(lbBuscarNome);
pnDados.add(lbAltura);
pnDados.add(lbPeso);
pnDados.add(lbNome);
pnDados.add(lbIdade);
txNome= new JTextField();
txNome.setBounds(10, 30, 200, 20);
txCodigo= new JTextField();
txCodigo.setBounds(250, 30, 60, 20);
txIdade= new JTextField();
txIdade.setBounds(250, 80, 60, 20);
txPeso= new JTextField();
txPeso.setBounds(10, 80, 60, 20);
txAltura= new JTextField();
txAltura.setBounds(130, 80, 60, 20);
txBuscarNome= new JTextField();
txBuscarNome.setBounds(10, 160, 180, 20);
pnDados.add(txCodigo);
pnDados.add(txBuscarNome);
pnDados.add(txAltura);
pnDados.add(txPeso);
pnDados.add(txNome);
pnDados.add(txIdade);
btPesquisar = new JButton("Buscar");
btPesquisar.setBounds(200, 160, 110, 20);
btLimpar = new JButton("Limpar");
btLimpar.setBounds(115, 115, 90, 20);
btCalcular = new JButton("Calcular");
btCalcular.setBounds(10, 115, 90, 20);
btCancelar = new JButton("Cancelar");
btCancelar.setBounds(220, 115, 90, 20);
pnDados.add(btLimpar);
pnDados.add(btPesquisar);
pnDados.add(btCalcular);
pnDados.add(btCancelar);
getContentPane().add(pnDados);
getContentPane().add(pnResultado);
btCalcular.addActionListener(this);
btCancelar.addActionListener(this);
btLimpar.addActionListener(this);
}
public void usandoHashMaps(){
pessoa = new HashMap<Integer, Pessoa>();
double altura = Float.parseFloat(txAltura.getText());
double peso = Float.parseFloat(txPeso.getText());
int idade = Integer.parseInt(txIdade.getText());
int codigo = Integer.parseInt(txCodigo.getText());
Pessoa p = new Pessoa(txNome.getText(),codigo, idade, peso, altura);
pessoa.put(p.getCodigo(), p);
}
private void calcular() {
try{
double altura = Float.parseFloat(txAltura.getText());
double peso = Float.parseFloat(txPeso.getText());
Imc i = new Imc();
double imc = i.calIMC(altura, peso);
i.getClassificacaoIMC(imc);
StringBuilder sb = new StringBuilder();
Formatter f = new Formatter(sb, Locale.getDefault());
situacao = " IMC : " + f.format("%,.3f ", imc) + obterClassi.getClassificacaoIMC(imc);
JOptionPane.showMessageDialog( null , " "+ situacao, " IMC",
JOptionPane.INFORMATION_MESSAGE );
setVisible( true );
System.gc();
}catch(Exception e){
JOptionPane.showMessageDialog( this, " Ocorreu um erro \n Forneça valores válidos \n ");
}
}
private void limpar(){
txNome.setText("");
txIdade.setText("");
txPeso.setText("");
txAltura.setText("");
}
public void actionPerformed(ActionEvent acao){
if(acao.getSource() == btCalcular){
calcular();
System.gc();
}
else if (acao.getSource() == btCancelar){
System.exit(0);
}
else if(acao.getSource() == btPesquisar){
}
else if(acao.getSource() == btLimpar){
limpar();
}
}
public static void main(String[] args) {
TelaIMC tl = new TelaIMC();
tl.usandoHashMaps();
tl.setVisible(true);
tl.setLocationRelativeTo(null);
tl.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
public class Pessoa {
public String nome;
public int idade;
public int codigo;
public double peso;
public double altura;
public Pessoa (String nome, int codigo, int idade, double peso, double altura){
setNome(nome);
setIdade(idade);
setPeso(peso);
setAltura(altura);
setCodigo(codigo);
}
public int getCodigo() {
return codigo;
}
public void setCodigo(int codigo) {
this.codigo = codigo;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public int getIdade() {
return idade;
}
public void setIdade(int idade) {
this.idade = idade;
}
public double getPeso() {
return peso;
}
public void setPeso(double peso) {
this.peso = peso;
}
public double getAltura() {
return altura;
}
public void setAltura(double altura) {
this.altura = altura;
}
}