I can understand your pain here . I also do the same . ie. in my java application i take various inputs and combine it to produce a graph . The challenge remains to output the graph on the screen so that it can be meaningfully understood by the user of the application . My graphs can be extremely big . Here is what i do :
1 . I use Graphiz dot library to generate my graph . In case you are unfamiliar with Graphiz, it is a very popular graph layouting tool . It essentially does the same thing as the JUNG library . But since i have never used JUNG i will not speak about it . The Graphiz dot engine computes the position of the vertex and edges for you .
2 . I have created a Graphical editor that can parse the (x,y) co-ordinates specified in the .dot file( output file generated by Graphiz ) and show on the screen . Only the parsing part is tricky as the editor takes care of most of the visualization aspects ( like zooming , drag and drop edges and vertex , etc ) . You can check out the editor here Jgraphx . Download their source code and have a look at the GraphEditor example . Run that example and see . Let me know if you want me any more help .
I think you have achieved 1 and you need to achieve 2 . Hope my answer helps.