본문 바로가기
JAVA/예제

[JAVA] JSlider 변동시 JLabel text값 변경

by JJH0100 2022. 10. 25.
728x90
반응형
package Ex01;

import javax.swing.*;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;

import java.awt.*;

public class SliderEx extends JFrame {
	public SliderEx() {
		setTitle("슬라이더 만들기");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		Container c = getContentPane();
		c.setLayout(new FlowLayout());

		JSlider slider = new JSlider(JSlider.HORIZONTAL, 100, 200, 150);
		slider.setPaintLabels(true);
		slider.setPaintTicks(true);
		slider.setMajorTickSpacing(20);		
		c.add(slider);
				
		JLabel jl = new JLabel("  ");
		jl.setOpaque(true);
		jl.setBackground(Color.green);
		jl.setText(Integer.toString(slider.getValue()));
		c.add(jl);
		
		slider.addChangeListener(new ChangeListener() {			
			@Override
			public void stateChanged(ChangeEvent e) {
				JSlider s = (JSlider)e.getSource();
				jl.setText(Integer.toString(s.getValue()));
				
			}
		});
		
		setSize(300,100);
		setVisible(true);
	}
	public static void main(String[] args) {
		new SliderEx();
	}
}

값 변경전

 

값 변경시

728x90
반응형

댓글