2014-12-28 1 views
-2

나는 컴퓨터 과학을 전공했다. 나는 자바 프로그램을 작성해야한다. 창에서 두 개의 버튼을 클릭하고 그 중 하나를 클릭하면 버튼 글꼴이 커져서 버튼/버튼이 커지고 창에 두 개가 있어야 (전체 버튼이 두 개 표시됨) 창이 더 커질 수있다. 그대로 필요합니다. pack()에서는 꽤 쉽지만 pack() 메서드는 호출 할 수 없습니다. 모든 단서?팩()없이 JFrame 크기를 조정하면 내 마음이 날아갑니다. 명확하지 않음

+0

여기에 아무도 당신을 위해 숙제를하지 않을 것입니다. – worldofjr

+0

나는 그것을 기대하지 않는다. 나는 혼자서 문제를 풀려고 많은 시간을 보냈고, 내 스스로 프로그램을 작성하는 데 도움이되는 어떤 단서가있을 것으로 기대합니다. – Baldur

+0

볼 수있는 영역, 즉 프레임 테두리가없는 영역을 결정해야합니다. 그런 다음 테두리 테두리를 결정하여 너비/높이 계산에 추가해야합니다. getPreferredSize 메서드를 호출하여 버튼이 좋아할만한 공간을 결정할 수 있습니다. – MadProgrammer

답변

1

간단한 해결책은 버튼의 글꼴을 업데이트 한 후 revalidate 컨테이너에 대해 컨테이너에 preferredSize을 요청하는 것입니다. 당신이이 있으면, 당신은 당신이해야합니다, 이제 ... 윈도우가 될 필요가있는 최소 크기 당신에게이 값에 윈도우의 insets

// Update button fonts... 
container.revalidate(); // Force the container with the buttons to update 
Dimension size = container.getPreferredSize(); 
Insets insets = frame.getInsets(); // Returns the frame's border requirements 
size.width += insets.left + insets.right;  
size.height += insets.top + insets.bottom; 
frame.setSize(size); 

를 추가해야 당신이 창문의 크기를 줄이고 자랄 지 여부에 대한 결정.

+1

나는 sth를 나타 냈습니다. 크기 변경 전후의 차이를 계산하여 Jframe 크기에 추가 할 수 있습니다. 글꼴 크기를 1 씩 변경하면 폭이 5 또는 6, 높이가 1 또는 2로 변경 될 수 있습니다. 정수의 비파괴 성질. 솔루션이 더 성숙하고 전문적으로 보이므로 배울 것입니다. :) 빠르고 정확한 답변을 해주셔서 감사합니다. 여기에 멋진 글을 올리십시오. 나는 다른 사람들을 도우려고 노력할 때 나는 expierienced :) – Baldur

+0

다행히 도움이 ... – MadProgrammer

관련 문제