자바 스윙 JSlider 슬라이더 구현 예제
공식 자바 DocsApi:javax.swing.JSlider
JSlider,슬라이더.
경계 구간 에서 슬라이더 를 이동 하여 값 을 선택 하 는 구성 요 소 를 도형 으로 사용 합 니 다.
슬라이더 는 주 눈금 표시 와 주 눈금 사이 의 차 눈금 표 시 를 표시 할 수 있 습 니 다.눈금 표시 사이 의 값 의 개 수 는 setMajorTickspacing(int)과 setMinorTickspacing(int)에서 제어 합 니 다.눈금 표 시 는 setPaintTicks(boolean)가 제어 합 니 다.
슬라이더 도 고정 시간 간격(또는 임의의 위치)에서 슬라이더 눈금 을 따라 텍스트 탭 을 인쇄 할 수 있 습 니 다.탭 의 그리 기 는 setLabelTable(Dictionary)과 setPaintLabels(boolean)가 제어 합 니 다.
PS:슬라이더 가 초점 을 맞 추 면 키보드 의 상하 좌우 버튼 을 눌 러 도 슬라이더 를 미 끄 러 뜨 릴 수 있 습 니 다.
JSlider 상용 구조 방법:
/**
* :
* orientation: ,SwingConstants.VERTICAL SwingConstants.HORIZONTAL,
* min:
* max:
* value: ( )
*/
JSlider()
JSlider(int orientation) // 、 、 0, 100, 50
JSlider(int min, int max) // min max
JSlider(int min, int max, int value)
JSlider(int orientation, int min, int max, int value)
JSlider 상용 방법:
// 、 、
void setMinimum(int min)
void setMaximum(int max)
void setValue(int n)
//
int getValue()
//
void setMajorTickSpacing(int n)
//
void setMinorTickSpacing(int n)
//
void setPaintTicks(boolean b)
// ( )
void setPaintLabels(boolean b)
//
void setPaintTrack(boolean b)
// ,SwingConstants.VERTICAL SwingConstants.HORIZONTAL
void setOrientation(int orientation)
// ( )
void setInverted(boolean b)
// 。 true, , 。
void setSnapToTicks(boolean b)
//
void setLabelTable(Dictionary<Integer, JComponent> labels)
//
void addChangeListener(ChangeListener l)
2.코드 인 스 턴 스:기본 눈금 값
package com.xiets.swing;
import javax.swing.*;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
public class Main {
public static void main(String[] args) {
JFrame jf = new JFrame(" ");
jf.setSize(250, 250);
jf.setLocationRelativeTo(null);
jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
// , 、 、 0、20、10
final JSlider slider = new JSlider(0, 20, 10);
//
slider.setMajorTickSpacing(5);
//
slider.setMinorTickSpacing(1);
//
slider.setPaintTicks(true);
slider.setPaintLabels(true);
//
slider.addChangeListener(new ChangeListener() {
@Override
public void stateChanged(ChangeEvent e) {
System.out.println(" : " + slider.getValue());
}
});
//
panel.add(slider);
jf.setContentPane(panel);
jf.setVisible(true);
}
}
결과 전시:3.코드 인 스 턴 스:사용자 정의 탭 눈금 값
package com.xiets.swing;
import javax.swing.*;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import java.util.Hashtable;
public class Main {
public static void main(String[] args) {
JFrame jf = new JFrame(" ");
jf.setSize(250, 250);
jf.setLocationRelativeTo(null);
jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
// , 、 、 0、20、10
final JSlider slider = new JSlider(0, 20, 10);
//
slider.setMajorTickSpacing(5);
//
slider.setMinorTickSpacing(1);
//
slider.setPaintTicks(true);
slider.setPaintLabels(true);
/*
*
*/
slider.setOrientation(SwingConstants.VERTICAL);
/*
*
*/
Hashtable<Integer, JComponent> hashtable = new Hashtable<Integer, JComponent>();
hashtable.put(0, new JLabel("Start")); // 0 , "Start"
hashtable.put(10, new JLabel("Middle")); // 10 , "Middle"
hashtable.put(20, new JLabel("End")); // 20 , "End"
/*
* ( )
*/
slider.setLabelTable(hashtable);
//
slider.addChangeListener(new ChangeListener() {
@Override
public void stateChanged(ChangeEvent e) {
System.out.println(" : " + slider.getValue());
}
});
//
panel.add(slider);
jf.setContentPane(panel);
jf.setVisible(true);
}
}
결과 전시:이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Swing 공통 구성 요소의 텍스트 상자 및 텍스트 영역1. JtextField(텍스트 상자) 사용 JtextField는 경량급 구성 요소로 한 줄의 텍스트를 편집하여 잘라내기, 복사, 붙여넣기, 단축키 등의 작업을 할 수 있으며, 텍스트의 길이가 표시 범위를 초과하면 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.