• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Tim Cooke
  • paul wheaton
  • Jeanne Boyarsky
  • Ron McLeod
Sheriffs:
  • Paul Clapham
  • Liutauras Vilda
  • Devaka Cooray
Saloon Keepers:
  • Tim Holloway
  • Roland Mueller
Bartenders:

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

 
Greenhorn
Posts: 3
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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).]
 
Ranch Hand
Posts: 3695
IntelliJ IDE Java Ubuntu
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
@)*#%)*&@#)*%&@^!&!&$#)*

Insert comment here about UBB turning a code listing into one very long line of text.
 
Mike Curwen
Ranch Hand
Posts: 3695
IntelliJ IDE Java Ubuntu
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
Posts: 3
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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!
 
Yeah, but how did the squirrel get in there? Was it because of the tiny ad?
Smokeless wood heat with a rocket mass heater
https://woodheat.net
reply
    Bookmark Topic Watch Topic
  • New Topic