2009-12-19 4 views
7

이것은 나를 미치게합니다. 디자인 모드에서 창 크기를 적절하게 설정하면이 크기를 무시하고 컴파일하고 실행할 때 다른 것을 사용합니다. 힘들다조차도 최소 크기를 설정하고 preferredSize는 이것을 무시합니다 ... 왜요? 내 크기를 어떻게 설정할 수 있습니까?NetBeans (Java Swing) : 창 크기 설정

+0

마우스로 드래그하거나 속성을 설정하고 있습니까? –

답변

6

은 당신이 설정 한 크기에 따라 스윙 구성 요소의 크기를 조정 할에 Window.pack() 전화를 잊어 버린 (그리고 모든 하위의)했을 수 있습니다.

기본 크기를 모두 설정 한 후에는 창 (또는 창을 만드는 모든 항목)에서 호출합니다.

Component.setSize() 메서드를 사용할 수도 있지만 comes with some caveats을 사용할 수 있습니다.

+0

pack() 호출이 어디에서 수행되어야하는지 설명해 주시겠습니까? –

+0

물론, UI 구성 요소의 모든 레이아웃 (레이아웃, 크기 및 위치 설정)이 완료된 후에'pack()'이 호출되어야합니다. 그것은 레이아웃을위한 코드가 (일반적으로 생성자에서) 어디에 의존합니다. – Spoike

1

JFrame 또는 포함 된 JPanel의 크기를 실제로 설정했는지 확인 했습니까?

setSize을 사용해 보셨습니까? 당신이 minimumSizepreferredSize와 크기를 설정 한 경우에도

0

netbeans ide를 사용하는 동안 비슷한 상황이 발생했습니다. 스윙 애플리케이션 프레임 워크는 윈도우, "응용 프로그램 데이터"에 대한 (홈 디렉토리 내의 하위 폴더에 응용 프로그램의 창 크기를 절약 것처럼

http://forums.netbeans.org/ptopic28011.html

이 보인다 : 나는 도움이 다음과 같은 스레드의 읽기가 있었다 폴더, Linux의 경우 "~ /"홈 폴더에 있음).

예를 들어, 내 응용 프로그램 'CrapApp'의 경우 스윙은 마지막 창 크기 정보를 "~/.CrapApp /"하위 폴더에 "mainFrame.session.xml"이라는 파일로 저장했습니다.

디자이너 내에서 창 크기를 어떻게 변경했는지에 관계없이 실행 중에는 무시한 것처럼 보였으 나 대신이 하위 폴더 내의 환경 설정에서 창 크기를로드했습니다.

그래서 내 솔루션은 내 경우에는이 보존-설정 하위 폴더, 예를 들어, "RM -rf ~/.CrapApp가 /"

그런 다음 문제가 해결 가서 내가 할 수있는 다시 크기 내에서 삭제했다 디자이너는 이제 다시 볼 수있는이 크기 조정 된 창으로 앱을 실행합니다.

이렇게하면이 문제를 유발 한 원인을 배우게됩니다. netbeans ide 내에서 앱을 실행하고 닫으면 하위 폴더가 생성되지 않습니다.

내 앱으로 약간의 작업을 한 후에 다음과 같은 "~/.CrapApp /"하위 폴더 생성을 트리거 한 것으로 나타났습니다.

  1. 종료 응용 프로그램

그리고 지금은 "~/나타나는에 대한 대화 상자에서"닫기 "버튼을 클릭하여"정보 >> 도움말 "내 응용 프로그램의에가는. CrapApp/"하위 폴더가 다시 나타납니다. 이 도움말/about 대화 상자는 netbeans ide에 의해 자동 생성되었으므로 필자는이 도구를 사용하지 않았다. 그러나 이것은 내 경우에 범인 인 것으로 보인다.

아마도 netbeans ide의 버그 일 수 있습니다. 다소 오래된 버전 (v6.8)을 사용하고 있습니다.이 버전은 원래 게시물의 시대와 비슷한 것으로 보입니다.