Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Sign In with Facebook Sign In with Google Sign In with OpenID

Categories

We have migrated to a new platform! Please note that you will need to reset your password to log in (your credentials are still in-tact though). Please contact lee@programmersheaven.com if you have questions.
Welcome to the new platform of Programmer's Heaven! We apologize for the inconvenience caused, if you visited us from a broken link of the previous version. The main reason to move to a new platform is to provide more effective and collaborative experience to you all. Please feel free to experience the new platform and use its exciting features. Contact us for any issue that you need to get clarified. We are more than happy to help you.

Having trouble writting and reading from file

sindrebsindreb Posts: 2Member
Hi!
I'm trying to make a program with a gui. I want it to be 2 textfields and one button. When the button is clicked I want the text from the first textbox to be written to a file. I also want the second textbox to display the content from the file. I have written the code, but for some reason I get a bunch of error messages. The code I use is this:
import javax.swing.JFrame;

[code]public class Main {
public static void main (String args[]){
GUI go = new GUI();
go.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
go.setSize(300,200);
go.setVisible(true);
}
}[/code]
[code]import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;

public class GUI extends JFrame{
private JTextField toFile;
private JTextField fromFile;
private JButton sendToFile;
private FileHandling fh;

public GUI(){
super("File");
setLayout(new FlowLayout());

toFile = new JTextField("Write what you want to send to the file",20);
add(toFile);

sendToFile=new JButton("Add to file");
add (sendToFile);

fh=new FileHandling();
fh.checkFile();
fh.readFile();

fromFile=new JTextField(fh.fromFile,20);
fromFile.setEditable(false);
add(fromFile);

HandlerClass hc=new HandlerClass();
sendToFile.addActionListener(hc);
}
private class HandlerClass implements ActionListener{
public void actionPerformed(ActionEvent event){
String a=fromFile.getText();
fh.writeFile(a);
}
}
}[/code]
[code]import java.io.*;
import java.util.*;

public class FileHandling {
private Formatter x;
private Scanner s;
private File y;
public String fromFile;

public void checkFile(){
y=new File("data.txt");
if(y.exists()){
try{
s=new Scanner(y);
}
catch(Exception e){
System.out.println("Could not scan the file");
}
}else{
try{
x=new Formatter("data.txt");
s=new Scanner(y);
}
catch(Exception e){
System.out.println("Could not create the file");
}
}
}
public void readFile(){
while(s.hasNextLine()){
fromFile=s.nextLine();
}
}
public void writeFile(String a){
x.format("%s
", a);
}
public void closeFile(){
x.close();
}
}[/code]
And the errors I get is these:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at FileHandling.writeFile(FileHandling.java:35)
at GUI$HandlerClass.actionPerformed(GUI.java:37)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$200(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Hope someone can help me out :)

Sign In or Register to comment.