void () { super.validate(); DialogWrapper wrapper = myDialogWrapper.get(); if (wrapper != null && wrapper.isAutoAdjustable()) { Window window = wrapper.getWindow(); if (window != null) { Dimension size = getMinimumSize(); if (!(Objects.equals(size, myLastMinimumSize))) { // update window minimum size only if root pane minimum size is changed if (size == null) { myLastMinimumSize = null; } else { myLastMinimumSize = new Dimension(size); JBInsets.addTo(size, window.getInsets()); Rectangle screen = ScreenUtil.getScreenRectangle(window); if (size.width > screen.width || size.height > screen.height) { Application application = ApplicationManager.getApplication(); if (application != null && application.isInternal()) { StringBuilder sb = new StringBuilder("dialog minimum size is bigger than screen: "); sb.append(size.width).append("x").append(size.height); IJSwingUtilities.appendComponentClassNames(sb, this); LOG.warn(sb.toString()); } if (size.width > screen.width) size.width = screen.width; if (size.height > screen.height) size.height = screen.height; } } window.setMinimumSize(size); } } } }