2014-01-10 2 views
3

내 프로젝트에서 특정 메뉴 선택시 마이그레이션 레이아웃과 카드 레이아웃 사이를 전환해야합니다. 그냥 알고 싶습니다, 응용 프로그램의 요구 사항에 따라 동적으로 레이아웃 관리자를 전환하는 것이 좋은 방법입니까? 제안은 대환영입니다. 감사합니다.요구 사항에 따라 레이아웃 관리자를 동적으로 전환하는 것이 좋습니다.

+0

마음에 들었던 생각은 무엇입니까? 어쩌면 우리는 대안을 제시 할 수 있습니다. –

+0

Hello sir, 실제로 jdesktoppane의 mig 레이아웃은 하나의 jinternalframe이 다른 것에 대해 열리게 허용하지 않으므로이 목적을 달성하기위한 카드 레이아웃으로 전환하고 나머지 j 프레임들과 마찬가지로 mig 레이아웃을 유지했습니다. –

+0

귀하의 코멘트에있는 설명은 실제로 코드가 * 조합 * 레이아웃 인 것처럼 들립니다. I.E. 동시에 2 개 사용. 그것은 매우 일반적입니다. 사실 코드가 JFrame에'JPanel'을 추가하고 레이아웃을 명시 적으로 설정하지 않으면 이미 발생했습니다. 'JPanel'은 기본적으로'FlowLayout'을 가지고 프레임의 내용 창은'BorderLayout'을 가지고 있습니다 .. –

답변

1

레이아웃을 전환하는 것이 좋습니다. 레이아웃 관리자는 다양한 유형의 제약 조건을 사용하여 구성 요소를 배치합니다. 일반적으로 스위칭 매니저는 제약 조건을 무효화합니다. 카드가 제약 조건을 필요로하지 않기 때문에 문제가 너무 많이없이 Mig에서 Card로 전환 할 수 있습니다. 다시 전환하는 것은 꽤 예측할 수 있습니다. 물론 GridBagLayout과 같은 것으로 전환하는 것은 바람직하지 않습니다.

+0

안녕하세요, 당신의 소중한 제안에 감사드립니다. 나는 mig 레이아웃과 카드 레이아웃을 프로그램 적으로 바꾸려고 시도했습니다. 그것은 잘 작동하고, 그래서 나는 같은 계속해야합니까? 고맙습니다. –

+0

예. 내가 Mig-> Card라고 말했던 것은 아마 괜찮을 것이다. Card-> Mig가 필요하지 않는 한, 당신은 아마 괜찮을 것입니다. –

+0

선생님, Mig-> Card와 Card-> Mig를 모두 시험해 보았습니다. 응용 프로그램을 실행할 때 모두 잘 작동합니다. –

1

. 실제로 jdesktoppane의 mig 레이아웃은 하나의 jinternalframe이 다른 것에 대해 열리게 허용하지 않으므로이 목적을 달성하기위한 카드 레이아웃으로 전환하고 나머지 jframe에 대해 그대로 mig 레이아웃을 유지했습니다.

실제로 코드가 레이아웃을 결합하는 것처럼 소리가 나도록 설명합니다. I.E. 동시에 2 개 사용. 그것은 매우 일반적입니다. 코드는 JPanelJFrame에 추가하지 명시 적으로 어떤 레이아웃을 설정 않는 경우

는 사실, 이미 일이있다. JPanel의 기본값은 FlowLayout이고 프레임의 콘텐츠 창은 BorderLayout입니다.

관련 문제