エラーの対処方法がわからない
解決したいこと
Java初心者です。
swingを使って入力したテキストを暗号化(と復号化)するプログラムを作ってみようと思い
実行してみたのですが、エラーが出てしまいました。
eclipseで使っているのですが、エディター上では何のエラー表記もなくどう直せばよいのか、
分からなく困っています。
どなたか教えてもらえないでしょうか。
発生している問題・エラー
Exception in thread "main" java.lang.NullPointerException
at java.desktop/java.awt.Container.addImpl(Container.java:1117)
at java.desktop/java.awt.Container.add(Container.java:997)
at coder.Main.<init>(Main.java:57)
at coder.Main.main(Main.java:24)
該当するソースコード
package coder;
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.JTextArea;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JButton;
import java.awt.Container;
import java.awt.BorderLayout;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class Main extends JFrame implements ActionListener{
JLabel label;
JTextField text1 = new JTextField("平文",50);
JTextField text2 = new JTextField("暗号文",50);
public static void main(String[] args) {
Main fr = new Main("暗号化プログラム");//24
fr.setVisible(true);
}
Main(String title){
setTitle(title);
setBounds(400, 100, 600, 500);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
JPanel panel2 = new JPanel();
JPanel panel3 = new JPanel();
JButton button1 = new JButton("暗号化");
button1.setActionCommand("Button 1");
button1.addActionListener(this);
JButton button2 = new JButton("復号化");
button2.setActionCommand("Button 2");
button2.addActionListener(this);
panel.add(button1);
panel.add(text1);
panel2.add(button2);
panel2.add(text2);
Container contentPane = getContentPane();
contentPane.add(panel, BorderLayout.NORTH);
contentPane.add(panel2,BorderLayout.SOUTH);
contentPane.add(panel3,BorderLayout.CENTER);
getContentPane().add(label, BorderLayout.CENTER);//57
}
public void actionPerformed(ActionEvent e){
String cmd = e.getActionCommand();
if (cmd.equals("Button 1")){
label.setText(Code.code(text1.getText()));//codeメゾットは入力文字列を暗号化するものです。
}else if (cmd.equals("Button 2")){
label.setText(Cryptanalysis.cryptanalysis(text2.getText()));//cryptanalysisメゾットは入力文字列を復号化するものです。
}
}
}
補足
参考にしたサイト https://www.javadrive.jp/tutorial/
初めてこのサイトを使ったのでマナー等が守れていなかったり、質問が下手だったりかもしれません。
もしそういうことがありましたらすみません。
0 likes