GUI for Hangman Code Deletes File txt Contents but Doesn't Save Output into Text File Error
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
add a comment |
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
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 aStringin the code) to replace the text file.
– Andrew Thompson
Jan 2 at 2:58
add a comment |
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
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
java
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 aStringin the code) to replace the text file.
– Andrew Thompson
Jan 2 at 2:58
add a comment |
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 aStringin 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
add a comment |
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
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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

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
Stringin the code) to replace the text file.– Andrew Thompson
Jan 2 at 2:58