Java에서는 제목 및 기타 테두리없이 JFrame의 너비와 높이를 가져올 수 있습니까?JFrame : 테두리없이 크기를 얻으시겠습니까?
frame.getWidth() 및 frame.getHeight() 1은 테두리를 포함한 너비를 반환합니다.
감사합니다.
Java에서는 제목 및 기타 테두리없이 JFrame의 너비와 높이를 가져올 수 있습니까?JFrame : 테두리없이 크기를 얻으시겠습니까?
frame.getWidth() 및 frame.getHeight() 1은 테두리를 포함한 너비를 반환합니다.
감사합니다.
frame.getContentPane().getSize();
frame.pack();
System.out.println("frame width : "+getWidth());
System.out.println("frame height: "+getHeight());
System.out.println("content pane width : "+getContentPane().getWidth());
System.out.println("content pane height: "+getContentPane().getHeight());
System.out.println("width of left + right borders: "+(getWidth()-getContentPane().getWidth()));
System.out.println("height of top + bottom borders: "+(getHeight()-getContentPane().getHeight()));
이
frame.getContentPane().getSize();
하지만 콘텐츠를 추가하지 않은 경우 아직 잘 작동합니다. 필자의 경우에는 내용을 추가하기 전에 JFrame의 내부 크기를 계산하기 위해 내용을 적절하게 나눌 수있었습니다. 여기에 내가 생각해 낸 것이있다.
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
pack(); // Need this, otherwise insets() show as 0.
int scrW = (int)screenSize.getWidth();
int scrH = (int)screenSize.getHeight();
int innerW = scrW - getInsets().left - getInsets().right;
int innerH = scrH - getInsets().top - getInsets().bottom;
// Need to setSize(), otherwise pack() will collapse the empty JFrame
setSize(scrW, scrH);
고마워요! frame.pack(); 이 명령 앞에 있어야합니다. 그렇지 않으면 (0; 0)을 반환합니다. – rzaaeeff