Class FamilyTreeDialog

All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible, RootPaneContainer, WindowConstants

public class FamilyTreeDialog extends JDialog
A dialog that displays an interactive family tree visualization.

This dialog shows a genealogical tree with the ability to:

  • View ancestors (parents, grandparents, etc.) above the origin person
  • View descendants (children, grandchildren, etc.) below the origin person
  • Zoom in and out using the mouse wheel or the toolbar controls, with fit-to-window and reset
  • A compact mode that shows the full details only for the focused person and reduces everyone else to a tightly packed portrait, decluttering large trees
  • Single-click a person to focus them; double-click to open their family tree in a new tab
  • Close individual tabs

Direct lineage lines are gender-colored: pink for female, blue for male, and green for non-binary. When two people in the tree are related by a link that is not part of that direct lineage - the hallmark of an intertwined ("braided") family, such as a child whose parents share an ancestor - that extra relationship is drawn as a dashed red line, so the loop is visible without cluttering the primary tree.

Since:
0.50.10
See Also:
  • Constructor Details

    • FamilyTreeDialog

      public FamilyTreeDialog(Frame owner, Genealogy genealogy, Collection<Person> personnel)
      Constructs a new FamilyTreeDialog.
      Parameters:
      owner - the parent frame that owns this dialog
      genealogy - the genealogy tree to display initially
      personnel - the collection of all personnel in the campaign
      Since:
      0.50.10