JGo Link Question

I have a JGoTextNode. I am creating a graph. I am attaching two

other nodes to one node. However, the two arrows that connect
the root node to the branch nodes need to have a space between
- --------------> Node B
----------- -
- - -------------
- -
- - -------------
----------- -
- ---------------> Node C
I am using JGoLabeledLink for the arrows. Is this doable? Secondly,
can I use graphics for rendering the arrows?

Each JGoTextNode has a single port on each side, four in total.

The easiest solution is to add have a JGoPort for each link, and to override layoutChildren on the node class to position the port where you want them to be.
An alternative solution is to override JGoPort.getFromLinkPoint and getToLinkPoint to be smarter about returning different points for different links. That way you don't have to manage the ports as links are added or removed, and you wouldn't have to override layoutChildren on the node class either.
I don't understand what you mean by "can I use graphics for rendering the arrows?"

“can I use graphics for rendering the arrows?”

I meant to say that I would like to show an image over the rectangular
area occupied by each arrow. Is that possible?

Is it possible to add space between the source node and the start of theJGoLabeledLink and between the end of the JGoLabeledLink and the target node?

Well, to show an image for each link is easy enough if you use a JGoLabeledLink and set its MidLabel to be a JGoImage. If you want to stretch that image to cover the link’s bounding rectangle, you’ll want to override JGoLabeledLink.layoutMidLabel to set the bounds of the JGoImage.

Regarding space between the end of a link and the node, I can think of at least two possibilities. The easiest would be to change the size of each port. A more general solution is to override JGoPort.getLinkPoint. For example, GeneralNodePort does this to make sure the link does not cross over any GeneralNodePortLabel that is associated with the port.