滑块演示

<!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>-->  1  import  java.awt. * ;
 2  import  java.util.HashMap;
 3  import  javax.swing. * ;
 4  import  javax.swing.event.ChangeEvent;
 5  import  javax.swing.event.ChangeListener;
 6 
 7  public   class  TestJSlider
 8  {
 9       public  TestJSlider()
10      {}
11       public   static   void  main(String args[])
12      {
13           // 构建一个窗体容器
14          JFrame frame  =   new  JFrame( " test " );
15          frame.setLayout ( null );
16          frame.setSize ( 400 , 400 );
17           // 构建一个测试容器
18          TestPanel panel  =   new  TestPanel();
19          panel.setBounds ( 100 , 100 , 300 , 300 );
20          frame.add (panel);
21           // 构建一个滚动条
22          JSlider slider  =   new  JSlider ();
23           // 设置滑块的标尺距离
24          slider.setMajorTickSpacing ( 5 );
25           // 设置滑块自动接近
26          slider.setSnapToTicks ( true );
27           // 设置是否在滑块上显示标尺
28          slider.setPaintTicks( true );
29          slider.setOrientation (JSlider.HORIZONTAL);
30          slider.setBounds ( 0 , 0 , 300 , 100 );
31          frame.add (slider);
32         
33          frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
34          frame.setVisible ( true );
35           // 构建一个事件鉴听
36          SliderListener listener  =   new  SliderListener(slider,panel);
37          slider.addChangeListener (listener);
38      }
39  }
40  class  SliderListener  implements  ChangeListener
41  {
42       private  JSlider slider;
43       private  TestPanel panel;
44       public  SliderListener(JSlider slider,TestPanel panel)
45      {
46           super ();
47           this .slider  =  slider;
48           this .panel  =  panel;
49      }
50       public   void  stateChanged(ChangeEvent e)
51      {
52           if (e.getSource () == slider)
53          {
54             panel.setHeight (slider.getValue ());
55             panel.setWidth (slider.getValue ());
56         
57          }
58      }
59  }
60  class  TestPanel  extends  JPanel
61  {
62       private   int  w  =   100 ;
63       private   int  h  =   100 ;
64       public  TestPanel()
65      {
66           super ();
67      }
68       public   void  setWidth( int  a)
69      {
70           this .w  =  a;
71          repaint();
72      }
73       public   void  setHeight( int  b)
74      {
75           this .h  =  b;
76          repaint();
77      }
78       public   void  paintComponent(Graphics g)
79      {
80           super .paintComponent (g);
81          g.fillOval ( 0 , 0 ,w,h);
82      }
83  }
84 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值