Link to home
Start Free TrialLog in
Avatar of chinta_vns
chinta_vns

asked on

Swing- How do i refresh a JTree? tried using repaint, reload and revalidate methods...

I am working on an swing application that uses JTree component. i am using HashTable to add the elements to the JTree. The data that is to be displayed will be changing when the user clicks on NExt button. To enable this i am clearing the data in hashtable and adding the new data and readding the component to the JTree. the new data is visible only when i minimize the screen and re maximise. can any one suggest me what i should be doing. i can send the code if required.
chinta_vns@yahoo.com
Avatar of msterjev
msterjev

DefaultTreeModel model=(DefaultTreeModel)tree.getTableModel();
model.reload(node)
I.E.

You must reload the corresponding node where the items are added or removed! You can reload the root node if the Tree is not very big!
Since you say that it will refresh when you minimise or maximise, I assume that the logic of loading data into JTree is correct and the following is my suggestion.

Add a refresh button and then performed the refresh of JTree by this button.

the code to refresh Jtree may be like this:
MyJTree.revalidate();

If it didn't work properly, try this
MyJTree.setVisible(false);
MyJTree.revalidate();
MyJTree.setVisible(true);

Hope this will help.
Avatar of chinta_vns

ASKER

Thanks for the support. I have tried revalidate, repaint, and reload methods as well. this time i tried to setVisibility to false and then to true. When i try to use
DefaultTreeModel model=(DefaultTreeModel)tree.getTableModel();
model.reload(node)
 it is giving me a compilation error stating that getTableModel() method not found.

Please suggest as the problem persists and is pressing...
Thanks and regards
ASKER CERTIFIED SOLUTION
Avatar of msterjev
msterjev

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
chinta_vns:
This old question needs to be finalized -- accept an answer, split points, or get a refund.  For information on your options, please click here-> http:/help/closing.jsp#1 
EXPERTS:
Post your closing recommendations!  No comment means you don't care.
No comment has been added lately, so it's time to clean up this TA.
I will leave a recommendation in the Cleanup topic area that this question is:

Accept msterjev's comment as answer.

Please leave any comments here within the next seven days.

PLEASE DO NOT ACCEPT THIS COMMENT AS AN ANSWER!

jimmack
EE Cleanup Volunteer