zoukankan      html  css  js  c++  java
  • 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<Integer, Component> 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);
    
        }
    }
    
    
    Hope is a good thing,maybe the best of things,and no good thing ever dies.----------- Andy Dufresne
  • 相关阅读:
    Django同步数据库(/manage.py makemigrations) 报错
    python中global和nonlocal用法的详细说明
    linux系统下载pycharm
    第一次博客作业
    结对编程作业
    团队介绍与选题报告
    FTP的时间为什么比系统时间晚了八个小时?
    新的部落格
    Enter键提交表单
    Android动画RotateAnimation(fromDegrees, toDegrees, pivotX,pivotY)参数
  • 原文地址:https://www.cnblogs.com/eat-too-much/p/13930467.html
Copyright © 2011-2022 走看看