Granny's Programming Pearls
"inside of every large program is a small program struggling to get out"
JavaRanch.com/granny.jsp
The moose likes Swing / AWT / SWT and the fly likes Save button within JFrame not working Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Android Security Essentials Live Lessons this week in the Android forum!
JavaRanch » Java Forums » Java » Swing / AWT / SWT
Bookmark "Save button within JFrame not working" Watch "Save button within JFrame not working" New topic
Author

Save button within JFrame not working

John Paul Hoey
Greenhorn

Joined: Apr 15, 2012
Posts: 25
Hi all,

Firstly, apologies if I have posted this in the wrong section however i think my problem is more relevant to Swing rather than XML.

I have a programme that when a button is selected on the main JFrame, an XML file is loaded into memory and a document / object created; this works fine.

I then pass this XML document / object as a parameter to a constructor onto another JFrame to be used within this second JFrame; again this works fine.

However, my problem lies when i try and save this object by using a save button i have created on the second JFrame; when i press the save button, i get a blank XML document i.e. the initial document hasnt saved.


Here is the code for the first button on the first JFrame which loads the XML file and creates an object:



Here is the Constructor on the second JFrame that gets the XML object / document from the first JFrame:




And here is the code within the Save button which i want to take the XML document / object above and save it out to a file:




As i previously said, when i save the file, it creates a blank XML file which is obviously wrong.

I know for a fact that the object is being passed to the constructor because when i copied the save button code within the constructor, the expected file was created successfully when i pressed the load button on the first JFrame, therefore my problem seems that the XML document / object doesnt appear to be getting passed to the save button.

My understanding (which could be wrong as im a java novice) was that the public (global) variable that i have created at the top of the second JFrame (i.e. public Document doc = null) would get set to the doc value within the constructor however it appears my understanding of how this works is wrong.

Has anyone got any suggestions on how i can get this to work and how to pass the value to the save button on the second JFrame?

Thanks in advance

John

Michael Dunn
Ranch Hand

Joined: Jun 09, 2003
Posts: 4632
> My understanding (which could be wrong as im a java novice) was that the public (global) variable that i have created
>at the top of the second JFrame (i.e. public Document doc = null) would get set to the doc value within the constructor
> however it appears my understanding of how this works is wrong.

your understanding is OK, your execution is wrong.

John Paul Hoey
Greenhorn

Joined: Apr 15, 2012
Posts: 25
Hi Michael,

Thanks for the response - really appreciated.

The issue I had in my code which you highlighted makes sense i.e. i was actually creating 2 seperate instances of CMSPage1 rather than just the one.

To get around this problem, I changed the setVisible method line as follows:



By doing this, i assumed that instead of creating 2 seperate instances of CMSPage1, i would only create the 1 and this new page would then recieve the doc object via the parameter ... however this doesnt seem to be the case.

When i run my code now, the new page comes up blank, whereas before, it contained all my textfields and additional buttons etc.

However, what i have noticed is that if i remove the doc parameter when creating the object (i.e. CMSPage1 nf = new CMSPage1();), the page loads successfully.

Am i doing something wrong?

Any further help would be greatly appreciated

Thanks in advance
Michael Dunn
Ranch Hand

Joined: Jun 09, 2003
Posts: 4632
I'm reading this on a mobile, so the code
is difficult to read, but you might want to
try adding initComponents() to the constructor
that takes the 'doc' argument
John Paul Hoey
Greenhorn

Joined: Apr 15, 2012
Posts: 25
Hi Michael,

Thanks for your help again.

As suggested, i moved the initComponents() to the constructor that was recieving the 'doc' argument and my components did appear on the new form - so thanks very much for this.

Also, my save button is now working successfully - which i couldnt have done without your help Michael.

Thanks again for all your suggestions

Regards

John
 
It is sorta covered in the JavaRanch Style Guide.
 
subject: Save button within JFrame not working
 
Similar Threads
Problem with adding an XML node to an existent XML File
problem with awakening after nofifyall is called GUI Swing
cant fill foreground color ?
Problem with adding an XML node to an existent XML File
problem with gui