JDesktopPane 내부에 JInternalPane를 작성하려고하고 있습니다 만, 올바르게 센터링하고 있지 않습니다.JDesktopPane 내의 JInternalFrame의 중앙 처리가 올바르게 동작하지 않습니다.
JDesktopPane desktopPane;
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
setBounds(0, 0, screenSize.width/2, screenSize.height/2);
desktopPane = new JDesktopPane();
setContentPane(desktopPane);
그때 만든 JInternalFrame 등 : 나는 또한 적절한 사이즈의 설정
LoginUI login = new LoginUI();
Dimension desktopSize = desktopPane.getSize();
Dimension loginSize = login.getSize();
int width = (desktopSize.width - loginSize.width)/2;
int height = (desktopSize.height - loginSize.height)/2;
login.setLocation(width, height);
login.setVisible(true);
desktopPane.add(login);
try {
login.setSelected(true);
} catch (java.beans.PropertyVetoException e) {}
JDesktopPane에가 (내가 넷빈즈의 드래그 앤 드롭을 사용하고 있습니다) 작성 방법은 다음과
입니다 JInternalFrame
그러나 로그인 프레임은 desktopPane의 왼쪽 상단에 표시되며 대부분은 표시되지 않습니다 (예 : desktopPane의 "외부").
대부분은 this Java documentation입니다. 또한 this post에서 this post까지 setLocation() 정보를 받았습니다.
여기에서 JInternalFrame이 cenetered되지 않는 원인은 무엇입니까? 어떤 도움을 주셔서 감사합니다.
'Toolkit.getDefaultToolkit(). getScreenSize()'는 작업 표시 줄이나 도킹과 같은 시스템 요소를 고려하지 않으므로 잘못된 선택입니다.'setLocationRelativeTo '및 그것을'null' 패스 – MadProgrammer
'LoginUI'는 미리 정의 된 크기를 가지지 않고 현재 크기가'0x0'입니다. – MadProgrammer
@MadProgrammer - JInternalFrame에 링크 된 첫 번째 게시물에 따르면 setLocationRelativeTo (null) 구현. 나는 어쨌든 그것을 테스트하고 오류가 발생했습니다. 또, LoginUI (my JInternalFrame)는, 내가 기재 한대로, 미리 정의 된 사이즈를 가지고 있습니다. 프레임의 일부를 볼 수 있습니다. 일부는 JDesktopPanel 밖에 있습니다. 예를 들어 위치를 setLocation (200,300)으로 설정하면 프레임이 JDesktopPane 내에서 완전히 볼 수 있습니다. – Ebad