2017-02-05 2 views
-1

현재 내 선호도 인 setLayout(null);을 사용하고 있지만 일반적으로 위치 지정 문제가 발생하기 쉽습니다. 이 경우 AWT.Chooser과 2 JButton이 있습니다. 과 같이, Good One 모든 너무 자주 출시시 2 JButton "취소"를 렌더링 버튼과 같이이 heightY 위치 +, 내가 스택 여기에 오라클 자습서를 통해 찾을 수 있는지부터 Bad One , 그것은이 문제를 일으키는 setLayout(null)을합니다. 이를 해결하기 위해이 특정 디자인에 맞는 레이아웃을 찾기 위해 다양한 레이아웃을 시도했습니다. 내가 찾은 건 CardLayout인데 가장 가까운 것 같습니다. 버튼을 올바른 위치에 두는 것이 내 디자인에 맞지는 않지만. 레이아웃 관리자를 사용하지 않고이 문제를 해결할 수있는 방법이 있습니까? 이것에 잘못된 접근을하고 있습니까? 나는 까다 롭지 않다. 필요한 경우 창 크기를 변경할 수 있고 새로운 디자인이 필요하다면 문제가되지 않는다. 미리 감사드립니다!Java.Swing 절대 레이아웃 오류 수정

+0

AWT와 Swing 구성 요소를 혼합 할 때 항상 함께 사용하지 않는 경향이 있습니다 – MadProgrammer

답변

3

나는 가장 가까운 것으로 보이는 CardLayout을 발견했습니다.

CardLayout? 컴포넌트 포지셔닝을위한 레이아웃이 아니라 컴포넌트 스와핑이기 때문에 의미가 없습니다. 정말로 다른 것을 의미하지 않습니까? 나 자신은 대개 네스트 고유의 레이아웃 관리자가있는 JPanels를 사용하면 유지 관리가 쉬운 복잡한 GUI를 쉽게 만들 수 있습니다.

당신의 GUI를 들어

enter image description here

, 나는 전체 GUI BorderLayout를 줄 것과 BorderLayout.CENTER 위치로 중앙 JPanel을 추가합니다. 아래쪽에 대한 레이아웃으로 FlowLayout(FlowLayout.TRAILING)을 사용하는 JPanel을 만들고 내 JButton을 추가하면 기본 JPanel에 BorderLayout.PAGE_END 위치에 추가됩니다. 이 문제를 해결할 수있는 방법은 무한합니다.