ボタンの1つを押したときに「ボタンを押しました」というテキストを表示しようとしています。
を取得していNullPointerException
ます。クラスのコンストラクター内でボタンを初期化し、初期化後に から次のメソッドを呼び出しましたmain()
。
コードは次のとおりです。
import java.awt.event.*;
import javax.swing.*;
import java.awt.*;
public class ButtonDemo implements ActionListener{
JLabel jlab;
ButtonDemo(){
JFrame jfrm = new JFrame("A Button Example");
jfrm.setLayout(new FlowLayout());
jfrm.setSize(220, 90);
jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JButton jbtnUp = new JButton("Up");
JButton jbtnDown = new JButton("Down");
jbtnUp.addActionListener(this);
jbtnDown.addActionListener(this);
jfrm.add(jbtnUp);
jfrm.add(jbtnDown);
JLabel jlab = new JLabel("Press a button.");
jfrm.add(jlab);
jfrm.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent ae) {
if(ae.getActionCommand().equals("Up"))
jlab.setText("You pressed Up.");
else
jlab.setText("You pressed Down.");
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
new ButtonDemo();
}
});
}
}
この例外の理由は何ですか?どうすれば解決できますか?
よろしく。