Hello, community, and thank you for taking the time to read my post.
I'm certainly not a pro nor certified Java programmer, and working on my family tree in my leisure time. I came to a point I really need advice now.

My goal is to show every single member of the family in one window, given any number of generations, potentially hide branches from a user Event, implement edition and creation for new members, so on so forth.


Here is what's done so far :

The data is stored in neo4j with 2 label nodes : (p)Person, (u)Union
Relationships define the following :
OFFSPRING (p)->(u) | MARRIED(p)->(u) | DIVORCED (p)->(u)| BIOFATHER (p)->(p)| BIOMOTHER(p)->(p)

That allows me a few things :
- represent every marriage and divorce for any person, and their respective children
- represent both parents through a union for every child(s)


My Java objects reflect that presentation (let's put bio parents relation asside for now) :

object <Person> has (at least) :
<Union> from union ;
List<Union> personalUnions; // mariages and divorces

object <Union> has (at least) :
<Person> father;
<Person> mother;
List<Person> children;

The code seems to be working properly sor far, generating a pList List<Person> and a uList List<Union> as new information flows from the database (I had a few members manually inserted already in neo4j for testing purpose).


I thought to implement the visulalization of the tree with Java Tree. Now comes the headache part :

1/ Is there another way of presenting a tree than this ugly explorer-like folder filesystem ? I'd love to implement one box per person | union and lines connectintg them.

2/ Given the restrictions of 1 parent per node (Unions have 2 parents at most, and any number of children), and my lack of web results on making something else than a binairy tree, I've been stuck for days on the concept of drawing something in a JFrame. The <Union> and <Person> objects are here allright, but I don't find a way to show them all at once and in the same tree.


So here's why I'm posting now. Is there a basic flaw in the very conception of my project, and what advice would you give me as to implement this, possibly the way I made it otherwise ?

Again I'm certainly not a pro on all this and doing it for my family. So thank you for your time, and I look forward to reading your insights on the subject.
yorran