diff --git a/src/org/violetlib/treetable/ui/BasicTreeTableUI.java b/src/org/violetlib/treetable/ui/BasicTreeTableUI.java index d9ff573..312489f 100755 --- a/src/org/violetlib/treetable/ui/BasicTreeTableUI.java +++ b/src/org/violetlib/treetable/ui/BasicTreeTableUI.java @@ -455,7 +455,7 @@ protected void paintTree(Graphics g) { } treeTableCellRenderer.prepareForTree(); - Graphics cg = g.create(x, 0, tree.getWidth(), tree.getHeight()); + Graphics cg = g.create(x, tree.getY(), tree.getWidth(), tree.getHeight()); try { cg.clipRect(clipX, 0, clipW, tree.getHeight()); tree.paint(cg); diff --git a/src/org/violetlib/treetable/ui/InternalTableWithMargins.java b/src/org/violetlib/treetable/ui/InternalTableWithMargins.java index 1c4b75c..6480962 100644 --- a/src/org/violetlib/treetable/ui/InternalTableWithMargins.java +++ b/src/org/violetlib/treetable/ui/InternalTableWithMargins.java @@ -95,6 +95,15 @@ public int columnAtPoint(@NotNull Point point) return super.columnAtPoint(point); } + @Override + public int rowAtPoint(@NotNull Point point) + { + if (margin > 0 || verticalMargin > 0) { + point = new Point(point.x - margin, point.y - verticalMargin); + } + return super.rowAtPoint(point); + } + @Override public @NotNull Rectangle getCellRect(int row, int column, boolean includeSpacing) {