Извлечение Javadoc для JFileChooser
Родительский аргумент определяет две вещи: рамку, от которой зависит открытое диалоговое окно, и компонент, положение которого внешний вид и внешний вид следует учитывать при размещении диалога.Если родителем является объект Frame (такой как JFrame), то диалог зависит от рамки, а внешний вид позиционирует диалог относительно рамки (например, по центру рамки).Если родительский компонент является компонентом, то диалоговое окно зависит от фрейма, содержащего компонент, и располагается относительно компонента (например, по центру над компонентом).Если родительский элемент равен нулю , то диалоговое окно зависит от отсутствия видимого окна, и оно находится в позиции, зависящей от внешнего вида, например в центре экрана.
внутренне пытается получить окно, используя родителя, используя JOptionPane.getWindowForComponent(parent)
.Который, в свою очередь, проверяет, является ли родительский элемент нулевым или нет ...
if (parentComponent == null)
return getRootFrame();
Если это нулевое значение, то фрейм корневого уровня возвращается в качестве родительского контейнера.Используя внутренний SwingUtilities.getSharedOwnerFrame()
.Javadoc для SwingUtilities.getSharedOwnerFrame()
говорит ...
Возвращает приватный, общий, невидимый фрейм инструментария, который будет владельцем JDialogs и JWindows, созданных с нулевыми владельцами.