2012-07-17 11 views
1

위에서 아래로 몇 가지 구성 요소가있는 BoxLayout 패널이 있는데이 패널을 내용 분할 창의 가운데에 (세로 및 가로 모두) 놓기를 원할 때 나는이 내부 패널이 여전히 그 중심에 남아있을 창을 최대화합니다.FlowLayout 또는 BorderLayout이있는 중앙 컴포넌트

나는 이것을 BoxLayout 및/또는 GridBagLayout으로 처리했지만, Swing을 실험 중이므로 FlowLayout 또는 BorderLayout을 내용 창의 레이아웃 관리자로 사용하여 동일한 작업을 수행 할 수 있는지 궁금합니다. 나는 그것을 할 수있는 방법을 찾지 못했습니다 ... 프레임을 최대화 할 때 내부 패널은 수평으로 유지되지만 수직으로 유지되지 않습니다 (상단에 붙어 있습니다).

2 명의 레이아웃 관리자와 함께 할 수 있습니까, 아니면 시간을 낭비하고 있습니까?

+0

에게 각각의 layoutManager가 가지고있는 후자 :-) 맞게 크기가 조정됩니다 당신이 배우고 그 후에 당신의 문맥에 가장 적합한 것을 선택할 필요가있는 다른 행동. 모든 핵심 관리자의 API 문서는 부족합니다. 스윙 태그에 연결된 자습서에는 몇 가지 세부 정보가 있습니다. – kleopatra

+0

@kleopatra : 분명히 감사합니다. – Rempelos

답변

1

FlowLayout은 구성 요소 맨 위에서 구성 요소 위치를 시작합니다. 수평 앵커를 변경할 수 있습니다. BorderLayout에는 구성 요소를 레이아웃하는 데 사용할 수있는 5 가지 위치가 있으며 최대 여유 공간을 차지하는 중심 위치 인 바깥 쪽 가장자리에는 & 위치가 4 개 있습니다.

는 중앙 위치에서 구성 요소를 배치하면 효과적으로 자신의 수직 & 수평 위치 대륙을 중심으로 수 있지만, 구성 요소는이 지속 할 공간

+0

"가로 앵커"란 무엇입니까? – kleopatra

+1

흐름 레이아웃을 사용하면 abount 정렬을 말할 때 SwingConstants.LEFT, SwingConstants.RIGHT 또는 SwingConstants.CENTER – MadProgrammer

+0

의 정렬 값을 전달할 수 있습니다. 그런 다음 정렬 ... well ... alignment :-) 용어 정의가 쉽지 않습니다. IMO – kleopatra