본문 바로가기

자바공부

자바 Swing JSlider, 슬라이더 컴포넌트, 명품자바프로그래밍11장

728x90
반응형

* JSlider는 사용자로 하여금 일정한 범위 내의 값을 그래픽으로 그려진 바(bar)상에서 마우스로 자유롭게 선택하게 하는 슬라이더 컴포넌트이다.

슬러이더의 종류는 수평 슬라이더와 수직 슬라이더가 있으며, 생성 당시 선택하거나 생성 후 언제든지 변경할 수 있다.

수평 슬라이더와 수직 슬라이더

* 구성 요소:

1) 손잡이

2) minimum과 maximum

3) orientation

4) track

5) majorTickSpacing과 minorTickSpacing

6) label

7) value

 

* 생성자 :

1) JSlider()

디폴트 슬라이더 생성

2) JSlider(int orientation)

orientation 방향의 슬라이더 생성.

orientation은 JSlider.HORIZONTAL과 JSlider.VERTICAL 중 하나이며 각각 수평 슬라이더와 수직 슬라이더를 의미한다.

3) JSlider(int min, int max, int val)

초깃값 설정

4)JSlider(int orientation, int min, int max, int val)

초깃값 및 수평 혹은 수직 슬라이더 생성

 

* JSlider는 슬라이더의 모양을 제어하는 다양한 메소드를 가지고 있다.

void setOrientation(int orientation)
// 슬라이더 방향을 orientation 값에 따라 수평, 수직 모양으로 변경한다.
void setMinimum(int min)
// 슬라이더의 minimum 값을 min 값으로 설정한다.
void setMaximum(int max)
// 슬라이더의 maximum 값을 max 값으로 설정한다.
void setPaintLabels(boolean b)
// b가 true이면 슬라이더의 'label'을 보이게 하고 b가 false이면 감춘다.
void setPaintTricks(boolean b)
// b가 true이면 슬라이더의 '눈금'을 보이게 하고 b가 false이면 감춘다.
void setPaintTrack(boolean b)
// b가 true이면 슬라이더의 'track'을 보이게 하고 b가 false이면 감춘다.
void setMinorTickSpacing(int space)
// 슬라이더의 minorTickSpacing을 space로 설정한다.
void setMajorTickSpacing(int space)
// 슬라이더의 majorTickSpacing을 space로 설정한다.

void setValue(int n)
// 슬라이더의 value를 n으로 설정한다. 슬라이더의 손작이는 새로운 value 값을 가리킨다.

 

* JSlider와 Change 이벤트

Change 이벤트는 스윙에서 지원되는 이벤트이며 리스너는 ChangeListener이다.

Change 이벤트 객체는 ChangeEvent이며 모두 javax.swing.event 패키지에 포함되어 있다.

void stateChanged(ChangeEvent e)
// 컴포넌트의 상태가 변할 때 호출되며 ChangeEvent 객체를 인자로 전달받는다.
// 인스턴스 멤버는 한 가지

 

* JSlider의 값(value)이 변경될 때마다 Change 이벤트가 발생한다.

사용자가 슬라이더의 손잡이를 움직이는 동안 계속 Change 이벤트가 발생하며, 응용프로그램에서  JSlider의 setValue(int n)를 호출하여 value값을 변경할 때 역시 Change 이벤트가 발생한다.

반응형