Já tentei isso:
package CalculandoIMC;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.JLabel;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JOptionPane;
import java.math.BigDecimal;
public class IMC extends JFrame {
private JLabel kg, volume, amc;
private JButton limpar, calcular;
private JTextField quilograma, altura, imc;
private BigDecimal a, b;
public IMC() {
super("Calculando o IMC");
setLayout(new FlowLayout());
a = new BigDecimal(quilograma.getText());
b = new BigDecimal(altura.getText());
kg = new JLabel("Massa (KG):");
add(kg);
quilograma = new JTextField();
quilograma.setEditable(true);
add(quilograma);
volume = new JLabel("Altura:");
add(volume);
altura = new JTextField();
altura.setEditable(true);
add(altura);
amc = new JLabel("IMC");
add(amc);
calcular = new JButton("Calcular IMC");
calcular.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
imc.setText("IMC: "+a.divide(b));
}
});
imc = new JTextField();
imc.setEditable(false);
add(imc);
}
}
Classe Principal:
package CalculandoIMC;
import javax.swing.JFrame;
public class Principal {
public static void main(String[] args) {
IMC imc = new IMC();
imc.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
imc.setSize(600, 600);
imc.setVisible(true);
}
}
OBS.:<strong>O erro é na hora que eu executo,</strong> aparece:
“Exception in thread “main” java.lang.NullPointerException
at CalculandoIMC.IMC.(IMC.java:24)
at CalculandoIMC.Principal.main(Principal.java:7)
Java Result: 1”
OBS.²: Estou usando o Netbeans 8.0.2