본문 바로가기

[JAVA]

[JAVA]10월 14일 스윙 컴포넌트, 슬라이더(Slider) 와 대화상자를 이용한 예제

대화상자

·대화 상자 윈도우는 임시 정보를 나타내는데 사용되는 독립적인 서브 윈도우이다.

·몇 개의 미리 정해진 표준 대화 상자는 아주 간단히 만들 수 있다.

JOptionPane.showMessageDialog(frame, "대화상자는 간단히 만들 수 있다");


그럼 슬라이더와 대화상자를 이용한 예제를 작성해보겠다.

이 예제는 슬라이더는 0~100까지 있고 0.1초 마다 값이 움직여서 0~100까지 가게 한다음

100까지 도착하면 대화상자로 완료되었습니다. 라고 나오는것이다. 추가기능으로 확인 버튼을 누르면 현재 값을 대화상자로 말해준다.


public class SliderTest extends JFrame implements ActionListener{

JPanel panel;

JSlider slider;

JButton buttonOK;

public SliderTest(){

this.setTitle("슬라이더 테스트");

this.setSize(300, 200);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

panel = new JPanel();

buttonOK = new JButton("완료");

slider = new JSlider(0, 100 , 0);

slider.setMajorTickSpacing(10);

slider.setMinorTickSpacing(1);

slider.setPaintTicks(true);

slider.setPaintLabels(true);

panel.add(slider);

panel.add(buttonOK);

buttonOK.addActionListener(this);

this.add(panel);

this.setVisible(true);

for(int i = 0; i <= slider.getMaximum(); i++)

{

slider.setValue(i);

try {

Thread.sleep(100);                        //0.1초 슬립!

} catch (InterruptedException e) {

e.printStackTrace();

}

if(slider.getValue() == slider.getMaximum())

JOptionPane.showMessageDialog(this, "완료 되었습니다.");

}

}

@Override

//이벤트 처리시에! 버튼이 눌렸을때~

public void actionPerformed(ActionEvent e) {

if(e.getSource() == buttonOK)

JOptionPane.showMessageDialog(this, slider.getValue());

}

public static void main(String[] args) {

new SliderTest();

}


}


실행 해보면~


                                    ↑얘는 100까지 갔을때      ↑얘는 중간에 아무때나 버튼 눌렀을 시