import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.util.*;
public class FirstSample{
public static void main(String[] args){
SliderFrame frame=new SliderFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
class SliderFrame extends JFrame{
public SliderFrame(){
setTitle("SliderTest");
setSize(WIDTH,HEIGHT);
sliderPanel=new JPanel();
sliderPanel.setLayout(new FlowLayout(FlowLayout.LEFT));
listener=new
ChangeListener(){
public void stateChanged(ChangeEvent event){
JSlider source=(JSlider) event.getSource();
textField.setText(""+source.getValue());
}
};
JSlider slider=new JSlider();
addSlider(slider,"Plain");
slider=new JSlider();
slider.setPaintTicks(true);
slider.setMajorTickSpacing(20);
slider.setMinorTickSpacing(5);
addSlider(slider,"Ticks");
slider=new JSlider();
slider.setPaintTicks(true);
slider.setSnapToTicks(true);
slider.setMajorTickSpacing(20);
slider.setMinorTickSpacing(5);
addSlider(slider,"Snap to ticks");
slider=new JSlider();
slider.setPaintTicks(true);
slider.setMajorTickSpacing(20);
slider.setMinorTickSpacing(5);
slider.setPaintTrack(false);
addSlider(slider,"No track");
slider=new JSlider();
slider.setPaintTicks(true);
slider.setMajorTickSpacing(20);
slider.setMinorTickSpacing(5);
slider.setInverted(true);
addSlider(slider,"Inverted");
slider=new JSlider();
slider.setPaintTicks(true);
slider.setPaintLabels(true);
slider.setMajorTickSpacing(20);
slider.setMinorTickSpacing(5);
addSlider(slider,"Labels");
slider=new JSlider();
slider.setPaintTicks(true);
slider.setPaintLabels(true);
slider.setMajorTickSpacing(20);
slider.setMinorTickSpacing(5);
Dictionary<Integer,Component> labelTable=new Hashtable<Integer,Component>();
labelTable.put(0, new JLabel("A"));
labelTable.put(20, new JLabel("B"));
labelTable.put(40, new JLabel("C"));
labelTable.put(60, new JLabel("D"));
labelTable.put(80, new JLabel("E"));
labelTable.put(100, new JLabel("F"));
slider.setLabelTable(labelTable);
addSlider(slider,"Custom labels");
slider=new JSlider();
slider.setPaintTicks(true);
slider.setPaintLabels(true);
slider.setSnapToTicks(true);
slider.setMajorTickSpacing(25);
slider.setMinorTickSpacing(25);
labelTable=new Hashtable<Integer,Component>();
labelTable.put(0, new JLabel(new ImageIcon("1.gif")));
labelTable.put(25, new JLabel(new ImageIcon("2.gif")));
labelTable.put(50, new JLabel(new ImageIcon("3.gif")));
labelTable.put(75, new JLabel(new ImageIcon("4.gif")));
labelTable.put(100, new JLabel(new ImageIcon("5.gif")));
slider.setLabelTable(labelTable);
addSlider(slider,"Icon labels");
textField=new JTextField();
add(sliderPanel,BorderLayout.CENTER);
add(textField,BorderLayout.SOUTH);
}
public void addSlider(JSlider s,String description){
s.addChangeListener(listener);
JPanel panel=new JPanel();
panel.add(s);
panel.add(new JLabel(description));
sliderPanel.add(panel);
}
public static final int WIDTH=350;
public static final int HEIGHT=500;
private JPanel sliderPanel;
private JTextField textField;
private ChangeListener listener;
}
滑块
最新推荐文章于 2024-06-02 20:42:26 发布