2012-12-27 2 views
4

확장 된 JFrame의 너비와 높이를 어떻게 얻을 수 있습니까? 당신은 장식 제목 표시 줄의 크기를 잃게됩니다확장 된 jframe의 크기?

setExtendedState(getExtendedState() | JFrame.MAXIMIZED_BOTH); 
+0

음을 화면 크기를 얻을 수있다 또 다른 방법 'JFrame을'JFrame.MAXIMIZED_BOTH'로 설정 한 후 –

+0

이전에 설정된 너비와 높이 만 제공합니다. –

답변

1

frame.setVisible(true) 후 :

double width = frame.getSize().getWidth(); 
double height = frame.getSize().getHeight(); 
1
frame.getContentPane().getSize(); 

(를 통해 수행). 또는 rootPane을 얻으십시오.

+0

그래도 작동하지 않습니다. 이전 설정 치수를 유지합니다. –

4

내 댓글에 추가 : JFrame.MAXIMIZED_BOTH

에 JFrame의를 설정 한 후 getWidth와 getHeight를 호출에 무슨 잘못

음을

당신은 확신 JFrame이 보이고 크기 상태가 변경된 후에 전화 하시겠습니까? 예 :

frame.setExtendedState(getExtendedState() | JFrame.MAXIMIZED_BOTH); 
frame.pack(); 
frame.setVisible(true); 

System.out.println(frame.getWidth()+" "+frame.getHeight()); 

JFrame.MAXIMIZED_BOTH 상태 JFrame의 크기가 될 것입니다 단순히`getWidth`와`getHeight를 호출하여

GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment(); 
Rectangle bounds = env.getMaximumWindowBounds(); 
System.out.println("Screen Bounds: " + bounds); 

를 통해 무슨 잘못

+0

+1, 거의 ... 모니터가 2 대 이상인 경우 어떻게해야합니까? :) - 내 프레임은 1 모니터에서만 작동했습니다. –

+0

@matheszabi 좋은 질문 아마도 모든 연결된 모니터를 통과하고 너비/높이를 축적하면 트릭을 수행 할 수 있습니다. –

+0

해결책은 있지만 어획량은 있습니다. matheszabi가 말했듯이 jframe aso에도 의존하지 않습니다. Eng. Fouad는 올바른 대답을 준 –