@Override public String tooltipText(Point mousePosition) { if (null == mousePosition) return ""; if (isOnPerimeter(mousePosition)) { return getDbModel().getModelName(); } if (isInside(mousePosition)) { if (null != columnDbShapes) { for (int i = 0; i < columnDbShapes.size(); i++) { ColumnDbShape columnDbShape = columnDbShapes.get(i); if (columnDbShape.isInside(mousePosition)) { return columnDbShape.getDbModel().getModelName(); } } } return getDbModel().getModelName(); } return "[ X=" + mousePosition.x + ", Y=" + mousePosition.y + " ]"; }