Rectangle (@NotNull Component source, @NotNull Rectangle rectangle) { Rectangle bounds = myNativeComponent == source ? new Rectangle(rectangle) : SwingUtilities.convertRectangle(source, rectangle, myNativeComponent); if (myNativeComponent != source && myNativeComponent instanceof ScalableComponent scalableComponent) { double zoom = scalableComponent.getScale(); if (zoom != 1) { bounds = new Rectangle(bounds); bounds.x /= zoom; bounds.y /= zoom; bounds.width /= zoom; bounds.height /= zoom; } } return bounds; }