java slider_java slider

简介

简单

code

/*

* @Author: your name

* @Date: 2020-11-05 10:21:52

* @LastEditTime: 2020-11-05 10:45:16

* @LastEditors: Please set LastEditors

* @Description: In User Settings Edit

* @FilePath: /java/calcu/SliderFrame.java

*/

package calcu;

import java.awt.*;

import java.util.*;

import javax.swing.*;

import javax.swing.event.*;

public class SliderFrame extends JFrame {

private JPanel sliderPanel;

private JTextField textField;

private ChangeListener listener;

public static void main(String[] args) {

SliderFrame t = new SliderFrame();

t.setTitle("ImageTest");

t.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

t.setVisible(true);

}

public SliderFrame() {

sliderPanel = new JPanel();

sliderPanel.setLayout(new GridBagLayout());

// common listener for all sliders

listener = event -> {

JSlider source = (JSlider) event.getSource();

textField.setText("" + source.getValue());

};

// add a plain slider

JSlider slider = new JSlider();

addSlider(slider, "Plain");

// add a slider with major and minor ticks

slider = new JSlider();

slider.setPaintTicks(true);

slider.setMajorTickSpacing(20);

slider.setMinorTickSpacing(5);

addSlider(slider, "Ticks");

// add a slider with no track

slider = new JSlider();

slider.setPaintTicks(true);

slider.setSnapToTicks(true);

slider.setMajorTickSpacing(20);

slider.setMinorTickSpacing(5);

addSlider(slider, "Snap to ticks");

// add a slider with no track

slider = new JSlider();

slider.setPaintTicks(true);

slider.setMajorTickSpacing(20);

slider.setMinorTickSpacing(5);

slider.setPaintTicks(false);

addSlider(slider, "No track");

// add an inverted slider

slider = new JSlider();

slider.setPaintTicks(true);

slider.setMajorTickSpacing(20);

slider.setMinorTickSpacing(5);

slider.setInverted(true);

addSlider(slider, "Inverted");

// add a slider with numeric labels

slider = new JSlider();

slider.setPaintTicks(true);

slider.setPaintLabels(true);

slider.setMajorTickSpacing(20);

slider.setMinorTickSpacing(5);

addSlider(slider, "Labels");

// add a slider with alphabetic labels

slider = new JSlider();

slider.setPaintLabels(true);

slider.setPaintTicks(true);

slider.setMajorTickSpacing(20);

slider.setMinorTickSpacing(5);

Dictionary labelTabel = new Hashtable<>();

labelTabel.put(0, new JLabel("A"));

labelTabel.put(20, new JLabel("B"));

labelTabel.put(40, new JLabel("C"));

labelTabel.put(60, new JLabel("D"));

labelTabel.put(80, new JLabel("E"));

labelTabel.put(100, new JLabel("F"));

slider.setLabelTable(labelTabel);

addSlider(slider, "Custon labels");

// add a slider with icon labels because of no icons don't to show these

// slider = new JSlider();

// slider.setPaintTicks(true);

// slider.setPaintLabels(true);

// slider.setSnapToTicks(true);

// slider.setMajorTickSpacing(20);

// slider.setMinorTickSpacing(5);

// add the text field that displays the slider value

textField = new JTextField();

add(sliderPanel, BorderLayout.CENTER);

add(textField, BorderLayout.SOUTH);

pack();

}

public void addSlider(JSlider s, String description) {

s.addChangeListener(listener);

JPanel panel = new JPanel();

panel.add(s);

panel.add(new JLabel(description));

panel.setAlignmentX(Component.LEFT_ALIGNMENT);

GridBagConstraints gbc = new GridBagConstraints();

gbc.gridy = sliderPanel.getComponentCount();

gbc.anchor = GridBagConstraints.WEST;

sliderPanel.add(panel, gbc);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值