Reputation: 5
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.FileNotFoundException;
import java.io.IOException;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextArea;
public class Main {
private static void createAndShowGUI() {
JFrame frame1 = new JFrame("FINAL YEAR PROJECT VER 1.0");
JTextArea test = new JTextArea(200, 200);
frame1.setSize(500,500);
frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame1.add(test);
FlowLayout experimentLayout = new FlowLayout();
experimentLayout.setAlignment(FlowLayout.CENTER);
frame1.setLayout(experimentLayout);
JButton button = new JButton("Extract Links");
JButton button1 = new JButton("Render To Text");
JButton button2 = new JButton("Calculate Similarity");
JButton button3 = new JButton("File Search");
JButton button4 = new JButton("Exit");
//Add action listener to button
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
try {
SimpleWebCrawler.main(null);
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
});
//Add action listener to button 1
button1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
try {
RenderToText.main(null);
} catch (IOException e1) {
e1.printStackTrace();
}
}
});
button2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
try {
readFile.main(null);
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
});
button3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
try {
FileInput.main(null);
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
});
button4.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
System.exit(0);
}
});
frame1.getContentPane().add(button);
frame1.getContentPane().add(button1);
frame1.getContentPane().add(button2);
frame1.getContentPane().add(button3);
frame1.getContentPane().add(button4);
frame1.setVisible(true);
}
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
}
This is a code for creating a frame with 5 buttons. Each buttons has their own functions. The problem i facing now is , after i click the first button, the code runs for the first button, and after that the frame closes. How do i maintain the frame after the first button code run, allowing me to click other button after the first button run.
Upvotes: 0
Views: 247
Reputation: 13728
Get rid of the main in the SimpleWebCrawler class, turn the SimpleWebCrawler class into a JDialog instead of a JFrame and create an instance and make it visible in the action listener of your button.
Upvotes: 2