2012-01-04 2 views
2

내 그래픽을 어떻게 보이게하고 싶은지 알고 있지만 잠시 동안 LayoutManagers를 망쳐 놓고 잘 작동하는 조합을 찾지 못하는 것 같습니다.Java Layout Manager Advice

다음은 설정입니다. 1 JFrame은 2 개의 JScrollPane을 포함합니다. ScrollPane1은 JFrame 수직 공간의 30 %를 얻습니다. ScrollPane2는 JFrame 수직 공간의 70 %를 얻습니다.

각 JScrollPane에는, ScrollPane의 중앙의 중앙에 1 개의 JLabel, 스크롤 구획의 하단에 중심에있는 1 개의 JButton, 및 각 스크롤 구획의 중간의 많은 JCheckBox가 있습니다.

이상적으로는 다음과 같습니다 http://i.imgur.com/f7KsC.jpg

내 질문은 : 당신이 JFrame의 각 JScrollPane의를 위해 사용하는 것이 무엇 레이아웃 매니저?

편집 : 모든 외부 툴킷은 당사의 프로젝트에 통합되기 전에 회사의 법률 부서를 거쳐야합니다. 내부 자바 라이브러리를 고수하고 싶습니다.

EDIT 2 : Finished !! 최종 설정은 다음과 같습니다. http://i.imgur.com/5ndjx.png

내가 배운 것은 Java에서 분류 작업을 계속하는 것이 중요하다는 것입니다. 나는 프레임에 깨끗하게 들어갈 수 있기를 바라는 모든 물건에 대해 너무 적은 수의 컨테이너를 사용하고있었습니다. 그래서 나는 더 많은 패널과 레이아웃 매니저를 사용하기 시작했고 그것은 아름답게 나왔다. 완벽 해 보입니다. 도와 주신 모든 분들께 감사드립니다.

+0

여러 패널을 사용하면 패널간에 일관된 정렬을 방지 할 수 있습니다. 귀하의 구체적인 경우에는 문제가되지 않을 수도 있지만, 보통의 경우에는 종종 그다지 심각하지 않습니다. 이제는 하나의 창/대화 상자에 대해 하나의 패널 (예 : 하나의 레이아웃) 만 유지하려고합니다. 그리고 DesignGridLayout과 같은 "상위 레벨"LayoutManager를 사용합니다.이 윈도우는 처리해야하는 대부분의 Windows에 적합합니다. – jfpoilpret

+0

[MigLayout] (http://www.miglayout.com/)을 확인하십시오. – ninesided

답변

3

IMHO, 컨테이너의 내용 창을 JSplitPane 인스턴스로 만들 것입니다.

상반부는 JComponent 개의 세 계층으로 구성되며 정렬로 BoxLayout 관리자를 사용합니다. 최상위 레이어는 FlowLayout 관리자를 사용합니다. 중간 계층은 나란히 배열 된 JComponent 인스턴스로 구성되며 각 인스턴스는 정렬로 BoxLayout 관리자를 사용합니다. 물론 레이어 자체는 FlowLayout 관리자를 사용합니다. 맨 아래 계층은 나란히 배치 된 JComponent 인스턴스로 구성되며 FlowLayout 관리자를 사용합니다.

하반부는 상반부와 정확히 같으므로이 모든 논리를 단일 사용자 지정 구성 요소로 캡슐화하는 것이 좋습니다.

자세한 내용은 Using Layout Managers을 참조하십시오.

+1

JSplitPane에 대해 알지 못했습니다. 그들에 대해 지금 읽고 그들은 굉장해 보입니다. 감사! – anon58192932

3

저는 거의 모든 단계에서 MigLayout을 사용하려고합니다.

+0

모든 외부 라이브러리 및 툴킷은 회사의 법률 부서의 승인을 받아야만 사용할 수 있습니다.이 링크를 사용하여 감사합니다. 집에서 개인적인 용도로 사용하려고합니다. – anon58192932

+1

충분한 노력을 기울이면 레이아웃을 충분히 사용하고 있다면 승인 절차를 시작하는 것이 좋습니다. –

+0

이것은 내 첫번째 자바 비주얼 프로젝트입니다. 나는 집에 도착했을 때 MigLayout을 테스트 할 것입니다.내가 좋아하는 경우 (내가하는 것처럼 들린다), 나는 아마 승인 절차를 밟을 것이다. 다시 한번 감사드립니다. – anon58192932