import java.io.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.*;
import java.util.*;
public class two extends JFrame implements ActionListener
{
JLabel l1,l2;
JTextArea a1,a2;
JButton b1;
JMenuBar bar;
JMenu menu;
JMenuItem m1,m2;
JPanel p;
ArrayList<String> a;
DataOutputStream d1;
// プログラムの GUI 部分
public void go()
{
p=new JPanel();
bar=new JMenuBar();
menu=new JMenu("File");
m1=new JMenuItem("Save");
m1.addActionListener(this);
m2=new JMenuItem("New");
menu.add(m1);
menu.add(m2);
Font f=new Font("Arial",Font.BOLD,16);
l1=new JLabel("Question ");
l1.setAlignmentX(CENTER_ALIGNMENT);
l1.setFont(f);
l2=new JLabel("Answer");
l2.setFont(f);
l2.setAlignmentX(RIGHT_ALIGNMENT);
a1=new JTextArea(10,50);
JScrollPane a4 = new JScrollPane(a1);
a4.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
a4.setMaximumSize(new Dimension(600,220));
a4.setAlignmentX(CENTER_ALIGNMENT);
a2=new JTextArea(10,50);
JScrollPane a3 = new JScrollPane(a2);
a3.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
a3.setMaximumSize(new Dimension(600,220));
a3.setAlignmentX(CENTER_ALIGNMENT);
b1=new JButton("Next Card");
b1.setAlignmentX(LEFT_ALIGNMENT);
b1.addActionListener(this);
bar.add(menu);
setJMenuBar(bar);
BoxLayout g=new BoxLayout(p,BoxLayout.Y_AXIS);
p.setLayout(g);
p.add(l1);
p.add(Box.createRigidArea(new Dimension(15,15)));
p.add(a4);
p.add(Box.createRigidArea(new Dimension(15,15)));
p.add(l2);
p.add(Box.createRigidArea(new Dimension(15,15)));
p.add(a3);
p.add(Box.createRigidArea(new Dimension(25,25)));
p.add(b1);
getContentPane().add(p);
setVisible(true);
setSize(500,600);
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
two obj=new two();
obj.go();
}
public void actionPerformed(ActionEvent e)
{
a=new ArrayList<String>();
//テキストエリアの内容をlistarrayに保存する部分
if(e.getSource()==b1)
{
String l=new String(a1.getText()+"/");
String w=new String (a2.getText()+"\n");
a.add(l);
a.add(w);
// a.size() の値で示されるように、値が arraylist に追加されます
System.out.println(a.size());
a1.setText("");
a2.setText("");
}
//filechooser を使用して listarray をファイルに保存するメソッド
if(e.getSource()==m1){
JFileChooser fileSave = new JFileChooser();
int retrival=fileSave.showSaveDialog(this);
File d=fileSave.getSelectedFile();
if (retrival == JFileChooser.APPROVE_OPTION) {
try{
System.out.println(d);
//この部分は呼び出されていません
d1=new DataOutputStream(new FileOutputStream(d+".txt");
for(String o:a)
{
d1.writeChars(o);
System.out.println("\nIS SUCCESFULLY WRITTEN INTO FILE!");
}
d1.close();
}catch(Exception ex){System.out.println(ex);}
}
}
}
}