J'ai un programme qui ouvre actuellement une interface graphique et permet à l'utilisateur d'entrer leur nom ainsi que les langues qu'ils connaissent. Lorsque le bouton Soumettre est pressé, il est ensuite traduit dans une sortie de la console ainsi que d'un fichier bloc-notes lorsqu'il est exécuté en tant que fichier JAR exécutable. Mon problème est, chaque fois que je ferme le programme et le rouvre, alors les sorties sauvegardées précédentes sont supprimées. Comment pourrais-je contourner cela?Comment puis-je faire en sorte que mon programme crée un nouveau nom de fichier de sortie chaque fois qu'il est rouvert?
Code Runnable:
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);
}
}
Merci pour votre temps.
Considérez également 'java.util.prefs.Preferences', pour [exemple] (http://stackoverflow.com/a/34616583/230513). – trashgod