I need a tool / software / code in java that can represent the abstract tree in a graphical way i.e. showing labeled nodes connected via labeled edges.
One of the most flexibles API's to obtain this is JUNG (http://jung.sourceforge.net). An example of tree at http://jung.sourceforge.net/applet/treecollapse.html
You can also try Graph/JGraphT (http://jgrapht.org)
Jung is not a standalone software but a library written in Java and intended to be in from you java code through its API. Please have a look to the JUNG manual at http://jung.sourceforge.net/doc/index.html for a simple implementation.
You can also have a look to this tutorial : http://www.grotto-networking.com/JUNG/
You could also checkout a great library written by Mike Bobstock (same guy as D3) but many years before at UCB. It's called perfuse (perfuse.org) It has very easy to work with and is well documented.
If you do not find an api that you like, it is pretty easy to build your own class. I represented a Tree as a list of nodes (class) and each node has a list of children. Using this representation of a Tree I used g.drawString for the labels, and g.drawLine to connect the nodes. You basically just connect the dots and add text to them.