こんにちは私はいくつかのボタンを含むアプリケーションを作成しました。しかし、ボタンを押すと、NullPointerExceptionが発生します。ここで奇妙なのは、何も空ではないということです(null)
ここにコード例
public class MuseumPanel extends JPanel implements ActionListener {
private JTextField kaartnummer;
private JTextField uur, minuut;
private JButton aankomst, vertrek, overzicht, sluiting;
private int hour;
private int minute;
private final int REFRESH = 1000;
MuseumRegistratie museum;
public MuseumPanel(MuseumRegistratie museum) {
// zorg ervoor dat de huidige tijd wordt opgehaald.
javax.swing.Timer timer = new javax.swing.Timer(REFRESH, this);
timer.start();
kaartnummer = new JTextField(15);
uur = new JTextField(2);
minuut = new JTextField(2);
aankomst = new JButton("Komt binnen");
aankomst.addActionListener(this);
vertrek = new JButton("Vertrekt");
vertrek.addActionListener(this);
overzicht = new JButton("aantal aanwezig");
overzicht.addActionListener(this);
sluiting = new JButton("sluiting");
sluiting.addActionListener(this);
add(new JLabel("Kaartnummer"));
add(kaartnummer);
add(new JLabel("tijdstip van aankomst of vertrek "));
add(uur);
add(new JLabel(" uur en "));
add(minuut);
add(new JLabel(" minuten"));
add(aankomst);
add(vertrek);
add(overzicht);
add(sluiting);
}
@Override
public void actionPerformed(ActionEvent e) {
Calendar now = Calendar.getInstance();
hour = now.get(Calendar.HOUR_OF_DAY);
minute = now.get(Calendar.MINUTE);
uur.setText("" + hour);
minuut.setText("" + minute);
// aankomst
if(e.getSource() == aankomst) {
try {
museum.checkIn(kaartnummer.getText(), hour, minute);
} catch (NullPointerException ex) {
System.out.println("cardnumber: " + kaartnummer.getText() + " hour " + hour + " minute " + minute);
}
}
// vertrek
if(e.getSource() == vertrek) {
museum.checkOut(kaartnummer.getText(), hour, minute);
}
// overzicht
if(e.getSource() == overzicht) {
museum.getAantalAanwezig();
}
// sluiting
if(e.getSource() == sluiting) {
museum.sluitRegistratie();
}
}
}
たとえば、このボタンを押すと、すべての変数で例外が正しく発生します。これがどのように表示され、どのように解決するかを知っている人はいますか?