SpringLayout
SpringLayout (스프링 레이아웃)
컴포넌트 사이의 관계를 제약 조건(constraints)으로 지정해 레이아웃을 수행하는 레이아웃 관리자입니다.
본문
주의: 많은 레이아웃 관리자와 달리 SpringLayout은 관리하는 컴포넌트의 위치를 자동으로 설정하지 않습니다. SpringLayout을 사용하는 GUI를 직접 코딩한다면 west/east와 north/south 위치를 제약해서 컴포넌트 위치를 초기화하는 것을 기억하세요. 사용하는 제약 조건에 따라 컨테이너 크기를 명시적으로 설정해야 할 수도 있습니다.
간단함에도 불구하고 SpringLayout은 대부분의 다른 레이아웃 관리자의 동작을 흉내낼 수 있습니다. FlowLayout이 제공하는 줄 바꿈(line breaking) 같은 일부 기능에는 Spring 클래스의 특수 목적 하위 클래스를 만들어야 합니다.
SpringLayout은 Box를 중첩 조합해서는 풀 수 없는 어려운 레이아웃 문제도 많이 해결해 줍니다. LayoutManager2 계약을 올바르게 지키므로 다른 레이아웃 관리자와 중첩할 수 있습니다. 레이아웃 연산의 점근적 복잡도는 제약 조건(및/또는 컴포넌트) 수에 선형입니다.
SpringLayout.Constraints 객체는 컴포넌트의 크기와 위치가 SpringLayout이 제어하는 컨테이너에서 어떻게 변하는지를 정하는 제약 조건을 담습니다. Since: 1.4
주요 메서드·상세 (Methods & details)
주요 메서드로는 제약을 얻거나 설정하는 getConstraints(Component)/getConstraint(String, Component), 제약을 추가하는 putConstraint(String, Component, int, String, Component)/putConstraint(String, Component, Spring, String, Component), 배치를 수행하는 layoutContainer(Container), 크기를 계산하는 minimumLayoutSize(Container)/preferredLayoutSize(Container)/maximumLayoutSize(Container) 등이 있습니다.