###前提・実現したいこと
addButtonで表示した5個のフレームの5つのテキストエリアの文字情報を
clearButtonでワンクリックで全部を取得して、ファイルに書き込むなど。
###発生している問題・エラーメッセージ
コンパイルは通るが、clearButtonを押すとエラーになる。
解決方法が分かりません。基本的な事で申訳ございません。
分かる方いらっしゃいましたら、何卒宜しくお願い致します。
エラーメッセージ
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at SwingAppMain_kai1.actionPerformed(SwingAppMain_kai1.java:125)
で恐らく、st = array[j].getText();の行のarray[j]がエラーのようです。
###該当のソースコード
import java.awt.BorderLayout;
import java.awt.Container;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.io.*;
import java.util.HashMap;
public class SwingAppMain_kai1 implements ActionListener {
private JFrame mainFrame;
private Container contentPane;
private JTextField textField;
private JTextArea textArea;
private JScrollPane scrollPane;
private JPanel buttonPane;
private JButton addButton;
private JButton clearButton;
private JFrame mainFrame1;
private Container contentPane1;
private JTextField textField1;
private JTextArea textArea1;
private JScrollPane scrollPane1;
private JPanel buttonPane1;
private JButton addButton1;
private JButton clearButton1;
public static void main(String[] args) {
new SwingAppMain_kai1();
}
public SwingAppMain_kai1(){
mainFrame = new JFrame("サンプル");
mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
mainFrame.setSize(320, 200);
mainFrame.setLocationRelativeTo(null);
contentPane = mainFrame.getContentPane();
textField = new JTextField();
textArea = new JTextArea();
scrollPane = new JScrollPane(textArea);
addButton = new JButton("追加");
clearButton = new JButton("消去");
addButton.addActionListener(this);
clearButton.addActionListener(this);
buttonPane = new JPanel();
buttonPane.add(addButton);
buttonPane.add(clearButton);
contentPane.add(textField, BorderLayout.NORTH);
contentPane.add(scrollPane, BorderLayout.CENTER);
contentPane.add(buttonPane, BorderLayout.SOUTH);
mainFrame.setVisible(true);
} public void actionPerformed(ActionEvent event){ JTextArea[] array; array = new JTextArea[5]; if(event.getSource() == addButton) { for(int i=0;i<5;i++){ int a=0; int b=0; a =(int)( Math.random()*1000 ) % 500; b =(int)( Math.random()*1000 ) % 500; mainFrame1 = new JFrame("サンプル1"); mainFrame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); mainFrame1.setBounds(a,b, 200, 200); contentPane1 = mainFrame1.getContentPane(); array[i] = new JTextArea(); scrollPane1 = new JScrollPane(textArea1); addButton1 = new JButton("追加"); clearButton1 = new JButton("消去"); addButton1.addActionListener(this); clearButton1.addActionListener(this); buttonPane1 = new JPanel(); buttonPane1.add(addButton1); buttonPane1.add(clearButton1); contentPane1.add(array[i], BorderLayout.NORTH); contentPane1.add(scrollPane1, BorderLayout.CENTER); contentPane1.add(buttonPane1, BorderLayout.SOUTH); mainFrame1.setVisible(true); } } if(event.getSource() == clearButton) { for (int j=0; j<5 ;j++){ String st =null; st = array[j].getText(); System.out.print(st); } } }
}
###試したこと
###補足情報(言語/FW/ツール等のバージョンなど)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/05/14 08:06