I have a program which currently opens a GUI and allows the user to input their name as well as the languages which they know. When the Submit button is pressed this is then translated into a console output as well as a notepad file when ran as an executable JAR file. My problem is, everytime I close the program and reopen it then the previous saved outputs are deleted. How would I bypass this?
Runnable code:
package guiChallenge;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.border.TitledBorder;
import javax.swing.JCheckBox;
import javax.swing.UIManager;
import java.awt.Color;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.PrintStream;
import java.awt.event.ActionEvent;
public class guiChallenge extends JFrame {
/**
*
*/
private JPanel contentPane;
private JTextField firstNameTextField;
private JTextField lastNameTextField;
private JCheckBox javaCheckBox, cCheckBox, c2CheckBox, pythonCheckBox, phpCheckBox, htmlCheckBox;
String javaLanguage, cLanguage, c2Language, phpLanguage, pythonLanguage, htmlLanguage;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
guiChallenge frame = new guiChallenge();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
* @throws FileNotFoundException
*/
public guiChallenge() throws FileNotFoundException {
PrintStream output = new PrintStream(new FileOutputStream("Report.txt"));
System.setOut(output);
setTitle("Programmer Entry");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
JPanel namePanel = new JPanel();
namePanel.setBorder(new TitledBorder(null, "Name", TitledBorder.LEADING, TitledBorder.TOP, null, null));
namePanel.setBounds(10, 11, 414, 106);
contentPane.add(namePanel);
namePanel.setLayout(null);
JLabel firstNameLabel = new JLabel("First Name: ");
firstNameLabel.setBounds(10, 18, 81, 33);
namePanel.add(firstNameLabel);
JLabel lastNameLabel = new JLabel("Last Name: ");
lastNameLabel.setBounds(10, 62, 89, 33);
namePanel.add(lastNameLabel);
firstNameTextField = new JTextField();
firstNameTextField.setBounds(79, 24, 155, 20);
namePanel.add(firstNameTextField);
firstNameTextField.setColumns(10);
lastNameTextField = new JTextField();
lastNameTextField.setColumns(10);
lastNameTextField.setBounds(79, 68, 155, 20);
namePanel.add(lastNameTextField);
JPanel languagesPanel = new JPanel();
languagesPanel.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"), "Languages", TitledBorder.LEADING, TitledBorder.TOP, null, new Color(0, 0, 0)));
languagesPanel.setBounds(10, 128, 414, 122);
contentPane.add(languagesPanel);
languagesPanel.setLayout(null);
javaCheckBox = new JCheckBox("Java");
javaCheckBox.setBounds(6, 20, 97, 23);
languagesPanel.add(javaCheckBox);
cCheckBox = new JCheckBox("C");
cCheckBox.setBounds(6, 46, 97, 23);
languagesPanel.add(cCheckBox);
c2CheckBox = new JCheckBox("C++");
c2CheckBox.setBounds(6, 72, 97, 23);
languagesPanel.add(c2CheckBox);
phpCheckBox = new JCheckBox("PHP");
phpCheckBox.setBounds(117, 20, 97, 23);
languagesPanel.add(phpCheckBox);
pythonCheckBox = new JCheckBox("Python");
pythonCheckBox.setBounds(117, 46, 97, 23);
languagesPanel.add(pythonCheckBox);
htmlCheckBox = new JCheckBox("HTML");
htmlCheckBox.setBounds(117, 72, 97, 23);
languagesPanel.add(htmlCheckBox);
JButton submitUserButton = new JButton("Submit User");
submitUserButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.out.println("Applicant Report:");
System.out.println();
System.out.println("First Name: " + firstNameTextField.getText() + " Last Name: " + lastNameTextField.getText());
System.out.println();
System.out.println("Languages known: ");
if(javaCheckBox.isSelected() == true){
System.out.println("Java");
}
if(cCheckBox.isSelected() == true){
System.out.println("C");
}
if(c2CheckBox.isSelected() == true){
System.out.println("C++");
}
if(phpCheckBox.isSelected() == true){
System.out.println("PHP");
}
if(pythonCheckBox.isSelected() == true){
System.out.println("Python");
}
if(htmlCheckBox.isSelected() == true){
System.out.println("HTML");
}
System.out.println("");
System.out.println("Languages not known: ");
if(javaCheckBox.isSelected() == false){
System.out.println("Java");
}
if(cCheckBox.isSelected() == false){
System.out.println("C");
}
if(c2CheckBox.isSelected() == false){
System.out.println("C++");
}
if(phpCheckBox.isSelected() == false){
System.out.println("PHP");
}
if(pythonCheckBox.isSelected() == false){
System.out.println("Python");
}
if(htmlCheckBox.isSelected() == false){
System.out.println("HTML");
}
resetPanels();
}
});
submitUserButton.setBounds(220, 46, 184, 23);
languagesPanel.add(submitUserButton);
}
public void resetPanels(){
firstNameTextField.setText("");
lastNameTextField.setText("");
javaCheckBox.setSelected(false);
cCheckBox.setSelected(false);
c2CheckBox.setSelected(false);
phpCheckBox.setSelected(false);
pythonCheckBox.setSelected(false);
htmlCheckBox.setSelected(false);
}
}
Thank you for your time.