У меня отображается «внутренняя рамка входа» при запуске приложения. Но проблема в том, что она не отображается по центру экрана приложения.
Мой код для получения фактического размера рабочего стола и установки местоположения JInternalFrame выглядит следующим образом
частная пустота new_init () {
LoginInternal login = new LoginInternal(jMenuBar1);
Dimension desktopSize = this.getSize();
Dimension jInternalFrameSize = login.getSize();
System.out.println("desktopSize: "+desktopSize+" jInternalFrameSize:" +jInternalFrameSize );
jMenuBar1.setVisible(false);
login.setLocation((desktopSize.width - jInternalFrameSize.width)/2,(desktopSize.height- jInternalFrameSize.height)/2);
jDesktopPane1.add(login);
login.show();
}
У меня разрешение экрана 1366х768. Но согласно отпечатку, который я поставил
"desktopSize: java.awt.Dimension [ширина = 1024, высота = 768] jInternalFrameSize: java.awt.Dimension [ширина = 398, высота = 286]"
Я получаю разрешение 1024x768. В коде предварительной инициализации JDesktopPane я установил «setExtendedState (JFrame.MAXIMIZED_BOTH);»
Теперь я открываю оба в развернутом режиме, но фрейм входа не центрирован, так как он использует логику центрирования с разрешением «[ширина = 1024, высота = 768]». Если он использует мое текущее разрешение экрана, я думаю, что он будет центрирован.
Надеюсь, я ясно дал понять. Где я ошибаюсь?