aspose file tools*
The moose likes Beginning Java and the fly likes call to JTextArea.getText() is not getting current text Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "call to JTextArea.getText() is not getting current text" Watch "call to JTextArea.getText() is not getting current text" New topic
Author

call to JTextArea.getText() is not getting current text

Sam Smith
Greenhorn

Joined: Jun 18, 2001
Posts: 3
In the following code there is a JTextArea with an initial string. When the user changes the text in the JTextArea and clicks on update on the menu bar, class2.update() is called which in turn calls a class1.getText() method which should return the text in the JTextArea. The problem I am having is that the inital string is always returned. For troubleshooting I added a line in the actionPerformed() method that calls the same class1.getText() method. However, this time the current contents of the text are returned.
How do I get the class2.update() method to print the current contents of the JTextArea?
Also, where are the initial contents of the JTextArea being stored so that they keep being returned in the update() method?
The following code is a model of an application I am writing. If someone can help me understand what is happening here I will be able to apply it to my application.

(edited by Cindy to format code)
[This message has been edited by Cindy Glass (edited June 18, 2001).]
Mike Curwen
Ranch Hand

Joined: Feb 20, 2001
Posts: 3695

@)*#%)*&@#)*%&@^!&!&$#)*

Insert comment here about UBB turning a code listing into one very long line of text.
Mike Curwen
Ranch Hand

Joined: Feb 20, 2001
Posts: 3695

Ah yes, tricky.

You are not actually using the textfield you think you are using.

Inside Class1, you create a TextField.

Inside Class2, you make a new Class1 (which contains a TextField)

Inside Class3, you create a Class1 and a Class2. So how many textfields are there? Answer: two.
One that is shown, because you add it (the textfield that is buried in Class1 is the one on the UI).
The other is not shown on the UI, the one in Class2. This is the one you call update on... but it will not have the changed data. It still has the original, untouched (and untouchable, since it's not on the UI) value of "Text Area".

Try this code and see what I mean:

Sam Smith
Greenhorn

Joined: Jun 18, 2001
Posts: 3
Thanks for the help, Mike. I am new to object-oriented programming. It was a lot easier to fix my code than I thought it would be. I just removed the line in Class3 that creates a Class1 object and then referenced class2.class1. Works beautifully!
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: call to JTextArea.getText() is not getting current text