滑块演示

<!--<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 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值