BoundedRangeModel
BoundedRangeModel (범위 제한 데이터 모델)
Slider와 ProgressBar 같은 컴포넌트가 사용하는 데이터 모델을 정의하는 인터페이스입니다.
본문
이 모델은 minimum, maximum, extent, value 네 개의 상호 연관된 정수 속성을 정의하며, 이들은 두 개의 중첩된 범위를 나타냅니다. minimum <= value <= value+extent <= maximum 관계를 만족해야 합니다. 바깥 범위가 minimum, maximum이고 안쪽 범위가 value, value+extent이며, 안쪽 범위는 반드시 바깥 범위 안에 있어야 합니다.
minimum과 maximum의 set 메서드는 다른 세 속성을 보정하여 새 값 인자가 제약 조건을 유지하도록 조정합니다. 예를 들어 모델의 최솟값을 설정하면 maximum, value, extent 속성이 그 순서로 바뀔 수 있습니다. value와 extent의 set 메서드도 다른 세 속성이 정의한 한계 안에 맞도록 인자를 보정합니다. 예를 들어 value == maximum일 때 setExtent(10)을 호출하면 extent는 0으로 돌아갑니다.
네 값은 Java Beans 속성으로 정의되지만, 변화 알림에는 PropertyChangeEvent 대신 Swing ChangeEvent를 사용합니다. 이는 MouseDragged 비율로 자주 발생하는 변화를 감시하는 오버헤드를 낮추기 위함입니다.