e798. 显示JSlider的标记标签

This example demonstrates how to display labels (numerical values) at the major ticks (see e797 显示JSlider的标记).

    // Create a horizontal slider that moves left-to-right
    JSlider slider = new JSlider();
    
    // Set major tick marks every 25 units
    int tickSpacing = 25;
    slider.setMajorTickSpacing(tickSpacing);
    
    // Determine if currently painting labels
    boolean b = slider.getPaintLabels(); // false
    
    // Paint labels at the major ticks - 0, 25, 50, 75, and 100
    slider.setPaintLabels(true);

The slider allows you to use an arbitrary label at any particular major tick mark. This example configures a slider that shows an icon at the minimum and maximum positions. The component is only used to render the label and so it can be used at more than one position. Unfortunately, it also means that if the component is interactive (e.g., a button), it will not respond to mouse and keyboard gestures.

    // Retrieve current table
    java.util.Dictionary table = slider.getLabelTable();
    
    // Create icon
    ImageIcon icon = new ImageIcon("icon.gif");
    JLabel label = new JLabel(icon);
    
    // Set at desired positions
    table.put(new Integer(slider.getMinimum()), label);
    table.put(new Integer(slider.getMaximum()), label);
    
    // Force the slider to use the new labels
    slider.setLabelTable(table);

 

Related Examples
posted @ 2018-09-06 09:04  borter  阅读(159)  评论(0编辑  收藏  举报