GUI for Hangman Code Deletes File txt Contents but Doesn't Save Output into Text File Error












0















I am currently coding hangman with GUI using swing and awt. Currently I want to save the output into a text file. However, when I try to save contents in the text file, the code only deletes the contents of the text file but doesn't write anything in the text file. Also, if I don't include [throws FileNotFoundException] at the beginning of the method, [Tester()], the code also doesn't run. Does anyone have any insight to fix this issue? I am fairly new to java and I don't yet understand very complex commands and etc. If you can, please try to keep it simple.



My end goal is to save the letters already pressed (buttons on the gui) into outputString so that the next button press will output all instances of the letter being pressed as well as the letter that was pressed before.



What I want the code to do:
If I pressed the button E:



_e___ ____e E



If I pressed the button W after:



_e___ W____ E



What the code does:



If I pressed the button E:



_e___ ____ E



If I pressed the button W after:



_____ W_____ _



import javax.swing.*;  
import java.awt.*;
import java.awt.event.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;

public class Tester extends JFrame implements ActionListener {

File myFile = new File ("outputString.txt");
PrintWriter printOut = new PrintWriter (myFile);

JButton okButton = new JButton ("OK");
JButton buttonA = new JButton("a");
JButton buttonB = new JButton("b");
JButton buttonC = new JButton("c");
JButton buttonD = new JButton("d");
JButton buttonE = new JButton("e");
JButton buttonF = new JButton("f");
JButton buttonG = new JButton("g");
JButton buttonH = new JButton("h");
JButton buttonI = new JButton("i");
JButton buttonJ = new JButton("j");
JButton buttonK = new JButton("k");
JButton buttonL = new JButton("l");
JButton buttonM = new JButton("m");
JButton buttonN = new JButton("n");
JButton buttonO = new JButton("o");
JButton buttonP = new JButton("p");
JButton buttonQ = new JButton("q");
JButton buttonR = new JButton("r");
JButton buttonS = new JButton("s");
JButton buttonT = new JButton("t");
JButton buttonU = new JButton("u");
JButton buttonV = new JButton("v");
JButton buttonW = new JButton("w");
JButton buttonX = new JButton("x");
JButton buttonY = new JButton("y");
JButton buttonZ = new JButton("z");

JPanel panIntro = new JPanel();
JPanel pan1 = new JPanel(); //define new panels
JPanel panMain = new JPanel();


JLabel name = new JLabel("Name: ");
JTextField nameField = new JTextField(" ",10);
JButton nextButton = new JButton("Next");

/** Creates, adds, and outputs Frames, Panels, and Buttons to the GUI program
* @return the GUI with questions
*/

public Tester() throws FileNotFoundException {//start of meathod

File myFile = new File ("outputString.txt");
PrintWriter printOut = new PrintWriter (myFile);

setTitle ("GUI"); //constructor puts everything together
setSize (900, 400); //set up the frame size

setResizable(false);//set the window to not to be resizable

GridLayout grid1 = new GridLayout(); // setting the frame into
setLayout (grid1);

BoxLayout box0 = new BoxLayout(panMain,BoxLayout.Y_AXIS);//set frame as box layout

panMain.setLayout(box0);

FlowLayout flow1 = new FlowLayout(); //adding what to include in each panel

pan1.setLayout (flow1);
pan1.add(buttonA);
pan1.add(buttonB);
pan1.add(buttonC);
pan1.add(buttonD);
pan1.add(buttonE);
pan1.add(buttonF);
pan1.add(buttonG);
pan1.add(buttonH);
pan1.add(buttonI);
pan1.add(buttonJ);
pan1.add(buttonK);
pan1.add(buttonL);
pan1.add(buttonM);
pan1.add(buttonN);
pan1.add(buttonO);
pan1.add(buttonP);
pan1.add(buttonQ);
pan1.add(buttonR);
pan1.add(buttonS);
pan1.add(buttonT);
pan1.add(buttonU);
pan1.add(buttonV);
pan1.add(buttonW);
pan1.add(buttonX);
pan1.add(buttonY);
pan1.add(buttonZ);
buttonA.addActionListener(this);
buttonB.addActionListener(this);
buttonC.addActionListener(this);
buttonD.addActionListener(this);
buttonE.addActionListener(this);
buttonF.addActionListener(this);
buttonG.addActionListener(this);
buttonH.addActionListener(this);
buttonI.addActionListener(this);
buttonJ.addActionListener(this);
buttonK.addActionListener(this);
buttonL.addActionListener(this);
buttonM.addActionListener(this);
buttonN.addActionListener(this);
buttonO.addActionListener(this);
buttonP.addActionListener(this);
buttonQ.addActionListener(this);
buttonR.addActionListener(this);
buttonS.addActionListener(this);
buttonT.addActionListener(this);
buttonU.addActionListener(this);
buttonV.addActionListener(this);
buttonW.addActionListener(this);
buttonX.addActionListener(this);
buttonY.addActionListener(this);
buttonZ.addActionListener(this);

JLabel guess = new JLabel("Vigilante Hackers are called: ", JLabel.LEFT);

panMain.add(pan1);

add(panMain);

pan1.setVisible(true);
setVisible(true);


}//end of meathod


public void actionPerformed(ActionEvent event){//start of actionPerfomed meathod

String command = event.getActionCommand(); //get button action command

char guessChar = 'o';

if (command.equals("a")){//next button triggered
String name = nameField.getText();
guessChar = 'a';
}//end of if
else if (command.equals("b")){//next button triggered
String name = nameField.getText();
guessChar = 'b';
}//end of if
else if (command.equals("c")){//next button triggered
String name = nameField.getText();
guessChar = 'c';
}//end of if
else if (command.equals("d")){//next button triggered
String name = nameField.getText();
guessChar = 'd';
}//end of if
else if (command.equals("e")){//next button triggered
String name = nameField.getText();
guessChar = 'e';
}//end of if
else if (command.equals("f")){//next button triggered
String name = nameField.getText();
guessChar = 'f';
}//end of if
else if (command.equals("g")){//next button triggered
String name = nameField.getText();
guessChar = 'g';
}//end of if
else if (command.equals("h")){//next button triggered
String name = nameField.getText();
guessChar = 'h';
}//end of if
else if (command.equals("i")){//next button triggered
String name = nameField.getText();
guessChar = 'i';
}//end of if
else if (command.equals("j")){//next button triggered
String name = nameField.getText();
guessChar = 'j';
}//end of if
else if (command.equals("k")){//next button triggered
String name = nameField.getText();
guessChar = 'k';
}//end of if
else if (command.equals("l")){//next button triggered
String name = nameField.getText();
guessChar = 'l';
}//end of if
else if (command.equals("m")){//next button triggered
String name = nameField.getText();
guessChar = 'm';
}//end of if
else if (command.equals("n")){//next button triggered
String name = nameField.getText();
guessChar = 'n';
}//end of if
else if (command.equals("o")){//next button triggered
String name = nameField.getText();
guessChar = 'o';
}//end of if
else if (command.equals("p")){//next button triggered
String name = nameField.getText();
guessChar = 'p';
}//end of if
else if (command.equals("q")){//next button triggered
String name = nameField.getText();
guessChar = 'q';
}//end of if
else if (command.equals("r")){//next button triggered
String name = nameField.getText();
guessChar = 'r';
}//end of if
else if (command.equals("s")){//next button triggered
String name = nameField.getText();
guessChar = 's';
}//end of if
else if (command.equals("t")){//next button triggered
String name = nameField.getText();
guessChar = 't';
}//end of if
else if (command.equals("u")){//next button triggered
String name = nameField.getText();
guessChar = 'u';
}//end of if
else if (command.equals("v")){//next button triggered
String name = nameField.getText();
guessChar = 'v';
}//end of if
else if (command.equals("w")){//next button triggered
String name = nameField.getText();
guessChar = 'w';
}//end of if
else if (command.equals("x")){//next button triggered
String name = nameField.getText();
guessChar = 'x';
}//end of if
else if (command.equals("y")){//next button triggered
String name = nameField.getText();
guessChar = 'y';
}//end of if
else if (command.equals("z")){//next button triggered
String name = nameField.getText();
guessChar = 'z';
}//end of if

String phrase = "Hello World E";
String phraseLowercase = "";
phraseLowercase = phrase.toLowerCase();
String outputString = "";
for (int counter = 0; counter < phrase.length(); counter++){
char index = phraseLowercase.charAt(counter);
if (index == guessChar){
outputString += phrase.charAt(counter);
}
else if (index == ' '){
outputString += " ";
}
else if (index != guessChar){
outputString += "_";
}
}
System.out.println(outputString);
printOut.println(outputString);


}//end of meathod


public static void main (String args) throws FileNotFoundException //main method to activate GUI
{
new Tester();//calls QuizGUI meathod

}//end of main

}//end of class









share|improve this question

























  • For better help sooner, edit to add a Minimal, Complete, and Verifiable example or Short, Self Contained, Correct Example. Hard code some data (e.g. as a String in the code) to replace the text file.

    – Andrew Thompson
    Jan 2 at 2:58
















0















I am currently coding hangman with GUI using swing and awt. Currently I want to save the output into a text file. However, when I try to save contents in the text file, the code only deletes the contents of the text file but doesn't write anything in the text file. Also, if I don't include [throws FileNotFoundException] at the beginning of the method, [Tester()], the code also doesn't run. Does anyone have any insight to fix this issue? I am fairly new to java and I don't yet understand very complex commands and etc. If you can, please try to keep it simple.



My end goal is to save the letters already pressed (buttons on the gui) into outputString so that the next button press will output all instances of the letter being pressed as well as the letter that was pressed before.



What I want the code to do:
If I pressed the button E:



_e___ ____e E



If I pressed the button W after:



_e___ W____ E



What the code does:



If I pressed the button E:



_e___ ____ E



If I pressed the button W after:



_____ W_____ _



import javax.swing.*;  
import java.awt.*;
import java.awt.event.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;

public class Tester extends JFrame implements ActionListener {

File myFile = new File ("outputString.txt");
PrintWriter printOut = new PrintWriter (myFile);

JButton okButton = new JButton ("OK");
JButton buttonA = new JButton("a");
JButton buttonB = new JButton("b");
JButton buttonC = new JButton("c");
JButton buttonD = new JButton("d");
JButton buttonE = new JButton("e");
JButton buttonF = new JButton("f");
JButton buttonG = new JButton("g");
JButton buttonH = new JButton("h");
JButton buttonI = new JButton("i");
JButton buttonJ = new JButton("j");
JButton buttonK = new JButton("k");
JButton buttonL = new JButton("l");
JButton buttonM = new JButton("m");
JButton buttonN = new JButton("n");
JButton buttonO = new JButton("o");
JButton buttonP = new JButton("p");
JButton buttonQ = new JButton("q");
JButton buttonR = new JButton("r");
JButton buttonS = new JButton("s");
JButton buttonT = new JButton("t");
JButton buttonU = new JButton("u");
JButton buttonV = new JButton("v");
JButton buttonW = new JButton("w");
JButton buttonX = new JButton("x");
JButton buttonY = new JButton("y");
JButton buttonZ = new JButton("z");

JPanel panIntro = new JPanel();
JPanel pan1 = new JPanel(); //define new panels
JPanel panMain = new JPanel();


JLabel name = new JLabel("Name: ");
JTextField nameField = new JTextField(" ",10);
JButton nextButton = new JButton("Next");

/** Creates, adds, and outputs Frames, Panels, and Buttons to the GUI program
* @return the GUI with questions
*/

public Tester() throws FileNotFoundException {//start of meathod

File myFile = new File ("outputString.txt");
PrintWriter printOut = new PrintWriter (myFile);

setTitle ("GUI"); //constructor puts everything together
setSize (900, 400); //set up the frame size

setResizable(false);//set the window to not to be resizable

GridLayout grid1 = new GridLayout(); // setting the frame into
setLayout (grid1);

BoxLayout box0 = new BoxLayout(panMain,BoxLayout.Y_AXIS);//set frame as box layout

panMain.setLayout(box0);

FlowLayout flow1 = new FlowLayout(); //adding what to include in each panel

pan1.setLayout (flow1);
pan1.add(buttonA);
pan1.add(buttonB);
pan1.add(buttonC);
pan1.add(buttonD);
pan1.add(buttonE);
pan1.add(buttonF);
pan1.add(buttonG);
pan1.add(buttonH);
pan1.add(buttonI);
pan1.add(buttonJ);
pan1.add(buttonK);
pan1.add(buttonL);
pan1.add(buttonM);
pan1.add(buttonN);
pan1.add(buttonO);
pan1.add(buttonP);
pan1.add(buttonQ);
pan1.add(buttonR);
pan1.add(buttonS);
pan1.add(buttonT);
pan1.add(buttonU);
pan1.add(buttonV);
pan1.add(buttonW);
pan1.add(buttonX);
pan1.add(buttonY);
pan1.add(buttonZ);
buttonA.addActionListener(this);
buttonB.addActionListener(this);
buttonC.addActionListener(this);
buttonD.addActionListener(this);
buttonE.addActionListener(this);
buttonF.addActionListener(this);
buttonG.addActionListener(this);
buttonH.addActionListener(this);
buttonI.addActionListener(this);
buttonJ.addActionListener(this);
buttonK.addActionListener(this);
buttonL.addActionListener(this);
buttonM.addActionListener(this);
buttonN.addActionListener(this);
buttonO.addActionListener(this);
buttonP.addActionListener(this);
buttonQ.addActionListener(this);
buttonR.addActionListener(this);
buttonS.addActionListener(this);
buttonT.addActionListener(this);
buttonU.addActionListener(this);
buttonV.addActionListener(this);
buttonW.addActionListener(this);
buttonX.addActionListener(this);
buttonY.addActionListener(this);
buttonZ.addActionListener(this);

JLabel guess = new JLabel("Vigilante Hackers are called: ", JLabel.LEFT);

panMain.add(pan1);

add(panMain);

pan1.setVisible(true);
setVisible(true);


}//end of meathod


public void actionPerformed(ActionEvent event){//start of actionPerfomed meathod

String command = event.getActionCommand(); //get button action command

char guessChar = 'o';

if (command.equals("a")){//next button triggered
String name = nameField.getText();
guessChar = 'a';
}//end of if
else if (command.equals("b")){//next button triggered
String name = nameField.getText();
guessChar = 'b';
}//end of if
else if (command.equals("c")){//next button triggered
String name = nameField.getText();
guessChar = 'c';
}//end of if
else if (command.equals("d")){//next button triggered
String name = nameField.getText();
guessChar = 'd';
}//end of if
else if (command.equals("e")){//next button triggered
String name = nameField.getText();
guessChar = 'e';
}//end of if
else if (command.equals("f")){//next button triggered
String name = nameField.getText();
guessChar = 'f';
}//end of if
else if (command.equals("g")){//next button triggered
String name = nameField.getText();
guessChar = 'g';
}//end of if
else if (command.equals("h")){//next button triggered
String name = nameField.getText();
guessChar = 'h';
}//end of if
else if (command.equals("i")){//next button triggered
String name = nameField.getText();
guessChar = 'i';
}//end of if
else if (command.equals("j")){//next button triggered
String name = nameField.getText();
guessChar = 'j';
}//end of if
else if (command.equals("k")){//next button triggered
String name = nameField.getText();
guessChar = 'k';
}//end of if
else if (command.equals("l")){//next button triggered
String name = nameField.getText();
guessChar = 'l';
}//end of if
else if (command.equals("m")){//next button triggered
String name = nameField.getText();
guessChar = 'm';
}//end of if
else if (command.equals("n")){//next button triggered
String name = nameField.getText();
guessChar = 'n';
}//end of if
else if (command.equals("o")){//next button triggered
String name = nameField.getText();
guessChar = 'o';
}//end of if
else if (command.equals("p")){//next button triggered
String name = nameField.getText();
guessChar = 'p';
}//end of if
else if (command.equals("q")){//next button triggered
String name = nameField.getText();
guessChar = 'q';
}//end of if
else if (command.equals("r")){//next button triggered
String name = nameField.getText();
guessChar = 'r';
}//end of if
else if (command.equals("s")){//next button triggered
String name = nameField.getText();
guessChar = 's';
}//end of if
else if (command.equals("t")){//next button triggered
String name = nameField.getText();
guessChar = 't';
}//end of if
else if (command.equals("u")){//next button triggered
String name = nameField.getText();
guessChar = 'u';
}//end of if
else if (command.equals("v")){//next button triggered
String name = nameField.getText();
guessChar = 'v';
}//end of if
else if (command.equals("w")){//next button triggered
String name = nameField.getText();
guessChar = 'w';
}//end of if
else if (command.equals("x")){//next button triggered
String name = nameField.getText();
guessChar = 'x';
}//end of if
else if (command.equals("y")){//next button triggered
String name = nameField.getText();
guessChar = 'y';
}//end of if
else if (command.equals("z")){//next button triggered
String name = nameField.getText();
guessChar = 'z';
}//end of if

String phrase = "Hello World E";
String phraseLowercase = "";
phraseLowercase = phrase.toLowerCase();
String outputString = "";
for (int counter = 0; counter < phrase.length(); counter++){
char index = phraseLowercase.charAt(counter);
if (index == guessChar){
outputString += phrase.charAt(counter);
}
else if (index == ' '){
outputString += " ";
}
else if (index != guessChar){
outputString += "_";
}
}
System.out.println(outputString);
printOut.println(outputString);


}//end of meathod


public static void main (String args) throws FileNotFoundException //main method to activate GUI
{
new Tester();//calls QuizGUI meathod

}//end of main

}//end of class









share|improve this question

























  • For better help sooner, edit to add a Minimal, Complete, and Verifiable example or Short, Self Contained, Correct Example. Hard code some data (e.g. as a String in the code) to replace the text file.

    – Andrew Thompson
    Jan 2 at 2:58














0












0








0


1






I am currently coding hangman with GUI using swing and awt. Currently I want to save the output into a text file. However, when I try to save contents in the text file, the code only deletes the contents of the text file but doesn't write anything in the text file. Also, if I don't include [throws FileNotFoundException] at the beginning of the method, [Tester()], the code also doesn't run. Does anyone have any insight to fix this issue? I am fairly new to java and I don't yet understand very complex commands and etc. If you can, please try to keep it simple.



My end goal is to save the letters already pressed (buttons on the gui) into outputString so that the next button press will output all instances of the letter being pressed as well as the letter that was pressed before.



What I want the code to do:
If I pressed the button E:



_e___ ____e E



If I pressed the button W after:



_e___ W____ E



What the code does:



If I pressed the button E:



_e___ ____ E



If I pressed the button W after:



_____ W_____ _



import javax.swing.*;  
import java.awt.*;
import java.awt.event.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;

public class Tester extends JFrame implements ActionListener {

File myFile = new File ("outputString.txt");
PrintWriter printOut = new PrintWriter (myFile);

JButton okButton = new JButton ("OK");
JButton buttonA = new JButton("a");
JButton buttonB = new JButton("b");
JButton buttonC = new JButton("c");
JButton buttonD = new JButton("d");
JButton buttonE = new JButton("e");
JButton buttonF = new JButton("f");
JButton buttonG = new JButton("g");
JButton buttonH = new JButton("h");
JButton buttonI = new JButton("i");
JButton buttonJ = new JButton("j");
JButton buttonK = new JButton("k");
JButton buttonL = new JButton("l");
JButton buttonM = new JButton("m");
JButton buttonN = new JButton("n");
JButton buttonO = new JButton("o");
JButton buttonP = new JButton("p");
JButton buttonQ = new JButton("q");
JButton buttonR = new JButton("r");
JButton buttonS = new JButton("s");
JButton buttonT = new JButton("t");
JButton buttonU = new JButton("u");
JButton buttonV = new JButton("v");
JButton buttonW = new JButton("w");
JButton buttonX = new JButton("x");
JButton buttonY = new JButton("y");
JButton buttonZ = new JButton("z");

JPanel panIntro = new JPanel();
JPanel pan1 = new JPanel(); //define new panels
JPanel panMain = new JPanel();


JLabel name = new JLabel("Name: ");
JTextField nameField = new JTextField(" ",10);
JButton nextButton = new JButton("Next");

/** Creates, adds, and outputs Frames, Panels, and Buttons to the GUI program
* @return the GUI with questions
*/

public Tester() throws FileNotFoundException {//start of meathod

File myFile = new File ("outputString.txt");
PrintWriter printOut = new PrintWriter (myFile);

setTitle ("GUI"); //constructor puts everything together
setSize (900, 400); //set up the frame size

setResizable(false);//set the window to not to be resizable

GridLayout grid1 = new GridLayout(); // setting the frame into
setLayout (grid1);

BoxLayout box0 = new BoxLayout(panMain,BoxLayout.Y_AXIS);//set frame as box layout

panMain.setLayout(box0);

FlowLayout flow1 = new FlowLayout(); //adding what to include in each panel

pan1.setLayout (flow1);
pan1.add(buttonA);
pan1.add(buttonB);
pan1.add(buttonC);
pan1.add(buttonD);
pan1.add(buttonE);
pan1.add(buttonF);
pan1.add(buttonG);
pan1.add(buttonH);
pan1.add(buttonI);
pan1.add(buttonJ);
pan1.add(buttonK);
pan1.add(buttonL);
pan1.add(buttonM);
pan1.add(buttonN);
pan1.add(buttonO);
pan1.add(buttonP);
pan1.add(buttonQ);
pan1.add(buttonR);
pan1.add(buttonS);
pan1.add(buttonT);
pan1.add(buttonU);
pan1.add(buttonV);
pan1.add(buttonW);
pan1.add(buttonX);
pan1.add(buttonY);
pan1.add(buttonZ);
buttonA.addActionListener(this);
buttonB.addActionListener(this);
buttonC.addActionListener(this);
buttonD.addActionListener(this);
buttonE.addActionListener(this);
buttonF.addActionListener(this);
buttonG.addActionListener(this);
buttonH.addActionListener(this);
buttonI.addActionListener(this);
buttonJ.addActionListener(this);
buttonK.addActionListener(this);
buttonL.addActionListener(this);
buttonM.addActionListener(this);
buttonN.addActionListener(this);
buttonO.addActionListener(this);
buttonP.addActionListener(this);
buttonQ.addActionListener(this);
buttonR.addActionListener(this);
buttonS.addActionListener(this);
buttonT.addActionListener(this);
buttonU.addActionListener(this);
buttonV.addActionListener(this);
buttonW.addActionListener(this);
buttonX.addActionListener(this);
buttonY.addActionListener(this);
buttonZ.addActionListener(this);

JLabel guess = new JLabel("Vigilante Hackers are called: ", JLabel.LEFT);

panMain.add(pan1);

add(panMain);

pan1.setVisible(true);
setVisible(true);


}//end of meathod


public void actionPerformed(ActionEvent event){//start of actionPerfomed meathod

String command = event.getActionCommand(); //get button action command

char guessChar = 'o';

if (command.equals("a")){//next button triggered
String name = nameField.getText();
guessChar = 'a';
}//end of if
else if (command.equals("b")){//next button triggered
String name = nameField.getText();
guessChar = 'b';
}//end of if
else if (command.equals("c")){//next button triggered
String name = nameField.getText();
guessChar = 'c';
}//end of if
else if (command.equals("d")){//next button triggered
String name = nameField.getText();
guessChar = 'd';
}//end of if
else if (command.equals("e")){//next button triggered
String name = nameField.getText();
guessChar = 'e';
}//end of if
else if (command.equals("f")){//next button triggered
String name = nameField.getText();
guessChar = 'f';
}//end of if
else if (command.equals("g")){//next button triggered
String name = nameField.getText();
guessChar = 'g';
}//end of if
else if (command.equals("h")){//next button triggered
String name = nameField.getText();
guessChar = 'h';
}//end of if
else if (command.equals("i")){//next button triggered
String name = nameField.getText();
guessChar = 'i';
}//end of if
else if (command.equals("j")){//next button triggered
String name = nameField.getText();
guessChar = 'j';
}//end of if
else if (command.equals("k")){//next button triggered
String name = nameField.getText();
guessChar = 'k';
}//end of if
else if (command.equals("l")){//next button triggered
String name = nameField.getText();
guessChar = 'l';
}//end of if
else if (command.equals("m")){//next button triggered
String name = nameField.getText();
guessChar = 'm';
}//end of if
else if (command.equals("n")){//next button triggered
String name = nameField.getText();
guessChar = 'n';
}//end of if
else if (command.equals("o")){//next button triggered
String name = nameField.getText();
guessChar = 'o';
}//end of if
else if (command.equals("p")){//next button triggered
String name = nameField.getText();
guessChar = 'p';
}//end of if
else if (command.equals("q")){//next button triggered
String name = nameField.getText();
guessChar = 'q';
}//end of if
else if (command.equals("r")){//next button triggered
String name = nameField.getText();
guessChar = 'r';
}//end of if
else if (command.equals("s")){//next button triggered
String name = nameField.getText();
guessChar = 's';
}//end of if
else if (command.equals("t")){//next button triggered
String name = nameField.getText();
guessChar = 't';
}//end of if
else if (command.equals("u")){//next button triggered
String name = nameField.getText();
guessChar = 'u';
}//end of if
else if (command.equals("v")){//next button triggered
String name = nameField.getText();
guessChar = 'v';
}//end of if
else if (command.equals("w")){//next button triggered
String name = nameField.getText();
guessChar = 'w';
}//end of if
else if (command.equals("x")){//next button triggered
String name = nameField.getText();
guessChar = 'x';
}//end of if
else if (command.equals("y")){//next button triggered
String name = nameField.getText();
guessChar = 'y';
}//end of if
else if (command.equals("z")){//next button triggered
String name = nameField.getText();
guessChar = 'z';
}//end of if

String phrase = "Hello World E";
String phraseLowercase = "";
phraseLowercase = phrase.toLowerCase();
String outputString = "";
for (int counter = 0; counter < phrase.length(); counter++){
char index = phraseLowercase.charAt(counter);
if (index == guessChar){
outputString += phrase.charAt(counter);
}
else if (index == ' '){
outputString += " ";
}
else if (index != guessChar){
outputString += "_";
}
}
System.out.println(outputString);
printOut.println(outputString);


}//end of meathod


public static void main (String args) throws FileNotFoundException //main method to activate GUI
{
new Tester();//calls QuizGUI meathod

}//end of main

}//end of class









share|improve this question
















I am currently coding hangman with GUI using swing and awt. Currently I want to save the output into a text file. However, when I try to save contents in the text file, the code only deletes the contents of the text file but doesn't write anything in the text file. Also, if I don't include [throws FileNotFoundException] at the beginning of the method, [Tester()], the code also doesn't run. Does anyone have any insight to fix this issue? I am fairly new to java and I don't yet understand very complex commands and etc. If you can, please try to keep it simple.



My end goal is to save the letters already pressed (buttons on the gui) into outputString so that the next button press will output all instances of the letter being pressed as well as the letter that was pressed before.



What I want the code to do:
If I pressed the button E:



_e___ ____e E



If I pressed the button W after:



_e___ W____ E



What the code does:



If I pressed the button E:



_e___ ____ E



If I pressed the button W after:



_____ W_____ _



import javax.swing.*;  
import java.awt.*;
import java.awt.event.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;

public class Tester extends JFrame implements ActionListener {

File myFile = new File ("outputString.txt");
PrintWriter printOut = new PrintWriter (myFile);

JButton okButton = new JButton ("OK");
JButton buttonA = new JButton("a");
JButton buttonB = new JButton("b");
JButton buttonC = new JButton("c");
JButton buttonD = new JButton("d");
JButton buttonE = new JButton("e");
JButton buttonF = new JButton("f");
JButton buttonG = new JButton("g");
JButton buttonH = new JButton("h");
JButton buttonI = new JButton("i");
JButton buttonJ = new JButton("j");
JButton buttonK = new JButton("k");
JButton buttonL = new JButton("l");
JButton buttonM = new JButton("m");
JButton buttonN = new JButton("n");
JButton buttonO = new JButton("o");
JButton buttonP = new JButton("p");
JButton buttonQ = new JButton("q");
JButton buttonR = new JButton("r");
JButton buttonS = new JButton("s");
JButton buttonT = new JButton("t");
JButton buttonU = new JButton("u");
JButton buttonV = new JButton("v");
JButton buttonW = new JButton("w");
JButton buttonX = new JButton("x");
JButton buttonY = new JButton("y");
JButton buttonZ = new JButton("z");

JPanel panIntro = new JPanel();
JPanel pan1 = new JPanel(); //define new panels
JPanel panMain = new JPanel();


JLabel name = new JLabel("Name: ");
JTextField nameField = new JTextField(" ",10);
JButton nextButton = new JButton("Next");

/** Creates, adds, and outputs Frames, Panels, and Buttons to the GUI program
* @return the GUI with questions
*/

public Tester() throws FileNotFoundException {//start of meathod

File myFile = new File ("outputString.txt");
PrintWriter printOut = new PrintWriter (myFile);

setTitle ("GUI"); //constructor puts everything together
setSize (900, 400); //set up the frame size

setResizable(false);//set the window to not to be resizable

GridLayout grid1 = new GridLayout(); // setting the frame into
setLayout (grid1);

BoxLayout box0 = new BoxLayout(panMain,BoxLayout.Y_AXIS);//set frame as box layout

panMain.setLayout(box0);

FlowLayout flow1 = new FlowLayout(); //adding what to include in each panel

pan1.setLayout (flow1);
pan1.add(buttonA);
pan1.add(buttonB);
pan1.add(buttonC);
pan1.add(buttonD);
pan1.add(buttonE);
pan1.add(buttonF);
pan1.add(buttonG);
pan1.add(buttonH);
pan1.add(buttonI);
pan1.add(buttonJ);
pan1.add(buttonK);
pan1.add(buttonL);
pan1.add(buttonM);
pan1.add(buttonN);
pan1.add(buttonO);
pan1.add(buttonP);
pan1.add(buttonQ);
pan1.add(buttonR);
pan1.add(buttonS);
pan1.add(buttonT);
pan1.add(buttonU);
pan1.add(buttonV);
pan1.add(buttonW);
pan1.add(buttonX);
pan1.add(buttonY);
pan1.add(buttonZ);
buttonA.addActionListener(this);
buttonB.addActionListener(this);
buttonC.addActionListener(this);
buttonD.addActionListener(this);
buttonE.addActionListener(this);
buttonF.addActionListener(this);
buttonG.addActionListener(this);
buttonH.addActionListener(this);
buttonI.addActionListener(this);
buttonJ.addActionListener(this);
buttonK.addActionListener(this);
buttonL.addActionListener(this);
buttonM.addActionListener(this);
buttonN.addActionListener(this);
buttonO.addActionListener(this);
buttonP.addActionListener(this);
buttonQ.addActionListener(this);
buttonR.addActionListener(this);
buttonS.addActionListener(this);
buttonT.addActionListener(this);
buttonU.addActionListener(this);
buttonV.addActionListener(this);
buttonW.addActionListener(this);
buttonX.addActionListener(this);
buttonY.addActionListener(this);
buttonZ.addActionListener(this);

JLabel guess = new JLabel("Vigilante Hackers are called: ", JLabel.LEFT);

panMain.add(pan1);

add(panMain);

pan1.setVisible(true);
setVisible(true);


}//end of meathod


public void actionPerformed(ActionEvent event){//start of actionPerfomed meathod

String command = event.getActionCommand(); //get button action command

char guessChar = 'o';

if (command.equals("a")){//next button triggered
String name = nameField.getText();
guessChar = 'a';
}//end of if
else if (command.equals("b")){//next button triggered
String name = nameField.getText();
guessChar = 'b';
}//end of if
else if (command.equals("c")){//next button triggered
String name = nameField.getText();
guessChar = 'c';
}//end of if
else if (command.equals("d")){//next button triggered
String name = nameField.getText();
guessChar = 'd';
}//end of if
else if (command.equals("e")){//next button triggered
String name = nameField.getText();
guessChar = 'e';
}//end of if
else if (command.equals("f")){//next button triggered
String name = nameField.getText();
guessChar = 'f';
}//end of if
else if (command.equals("g")){//next button triggered
String name = nameField.getText();
guessChar = 'g';
}//end of if
else if (command.equals("h")){//next button triggered
String name = nameField.getText();
guessChar = 'h';
}//end of if
else if (command.equals("i")){//next button triggered
String name = nameField.getText();
guessChar = 'i';
}//end of if
else if (command.equals("j")){//next button triggered
String name = nameField.getText();
guessChar = 'j';
}//end of if
else if (command.equals("k")){//next button triggered
String name = nameField.getText();
guessChar = 'k';
}//end of if
else if (command.equals("l")){//next button triggered
String name = nameField.getText();
guessChar = 'l';
}//end of if
else if (command.equals("m")){//next button triggered
String name = nameField.getText();
guessChar = 'm';
}//end of if
else if (command.equals("n")){//next button triggered
String name = nameField.getText();
guessChar = 'n';
}//end of if
else if (command.equals("o")){//next button triggered
String name = nameField.getText();
guessChar = 'o';
}//end of if
else if (command.equals("p")){//next button triggered
String name = nameField.getText();
guessChar = 'p';
}//end of if
else if (command.equals("q")){//next button triggered
String name = nameField.getText();
guessChar = 'q';
}//end of if
else if (command.equals("r")){//next button triggered
String name = nameField.getText();
guessChar = 'r';
}//end of if
else if (command.equals("s")){//next button triggered
String name = nameField.getText();
guessChar = 's';
}//end of if
else if (command.equals("t")){//next button triggered
String name = nameField.getText();
guessChar = 't';
}//end of if
else if (command.equals("u")){//next button triggered
String name = nameField.getText();
guessChar = 'u';
}//end of if
else if (command.equals("v")){//next button triggered
String name = nameField.getText();
guessChar = 'v';
}//end of if
else if (command.equals("w")){//next button triggered
String name = nameField.getText();
guessChar = 'w';
}//end of if
else if (command.equals("x")){//next button triggered
String name = nameField.getText();
guessChar = 'x';
}//end of if
else if (command.equals("y")){//next button triggered
String name = nameField.getText();
guessChar = 'y';
}//end of if
else if (command.equals("z")){//next button triggered
String name = nameField.getText();
guessChar = 'z';
}//end of if

String phrase = "Hello World E";
String phraseLowercase = "";
phraseLowercase = phrase.toLowerCase();
String outputString = "";
for (int counter = 0; counter < phrase.length(); counter++){
char index = phraseLowercase.charAt(counter);
if (index == guessChar){
outputString += phrase.charAt(counter);
}
else if (index == ' '){
outputString += " ";
}
else if (index != guessChar){
outputString += "_";
}
}
System.out.println(outputString);
printOut.println(outputString);


}//end of meathod


public static void main (String args) throws FileNotFoundException //main method to activate GUI
{
new Tester();//calls QuizGUI meathod

}//end of main

}//end of class






java






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Jan 2 at 2:42







Roy Shi

















asked Jan 2 at 2:30









Roy ShiRoy Shi

11




11













  • For better help sooner, edit to add a Minimal, Complete, and Verifiable example or Short, Self Contained, Correct Example. Hard code some data (e.g. as a String in the code) to replace the text file.

    – Andrew Thompson
    Jan 2 at 2:58



















  • For better help sooner, edit to add a Minimal, Complete, and Verifiable example or Short, Self Contained, Correct Example. Hard code some data (e.g. as a String in the code) to replace the text file.

    – Andrew Thompson
    Jan 2 at 2:58

















For better help sooner, edit to add a Minimal, Complete, and Verifiable example or Short, Self Contained, Correct Example. Hard code some data (e.g. as a String in the code) to replace the text file.

– Andrew Thompson
Jan 2 at 2:58





For better help sooner, edit to add a Minimal, Complete, and Verifiable example or Short, Self Contained, Correct Example. Hard code some data (e.g. as a String in the code) to replace the text file.

– Andrew Thompson
Jan 2 at 2:58












0






active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54000571%2fgui-for-hangman-code-deletes-file-txt-contents-but-doesnt-save-output-into-text%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes
















draft saved

draft discarded




















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54000571%2fgui-for-hangman-code-deletes-file-txt-contents-but-doesnt-save-output-into-text%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

The term 'EXEC' is not recognized as the name of a cmdlet Powershell

NPM command prompt closes immediately [closed]

Error binding properties and functions in emscripten