How do I call
actionPerformed(ActionEvent e)
from another method, that is,
returnHolder()
in my case, so that the arraylist can have all the data so then I can use servlet to write the data on the localhost. For now, in my
doGet
method,
System.out.println("size of the list is " + list.size());
gives me zero. Hope someone could help me out. Thank you so much.
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import javax.swing.JButton;
import javax.swing.JFrame;
public class Dummy extends JFrame{
public static ArrayList<String> list = new ArrayList<String>();
public static ArrayList<String> holder = new ArrayList<String>();
public static JButton play;
public Dummy() {
Container content = getContentPane();
play = new JButton("fuck");
play.setEnabled(true);
PlayListener playListener = new PlayListener();
play.addActionListener(playListener);
content.add(play, BorderLayout.SOUTH);
}
class PlayListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
list.add("what");
list.add("the");
list.add("hell");
for(int i = 0; i < list.size(); i++){
holder.add(list.get(i));
}
}
}
public static ArrayList<String> returnHolder() {
//play.doClick();
return holder;
}
public static void main(String args[]) {
JFrame frame = new Dummy();
frame.pack();
frame.show();
}
}
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.tutorials.Dummy;
public class ListJson extends HttpServlet {
@Override
public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
ArrayList<String> list = Dummy.returnHolder();
System.out.println("size of the list is " + list.size());
resp.setContentType("application/json");
PrintWriter writer = resp.getWriter();
for(int i = 0; i < list.size(); i++) {
writer.println(list.get(i));
}
writer.flush();
writer.close();
}
}