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 
          posted on 2007-02-06 16:01 -274°C 閱讀(370) 評論(0)  編輯  收藏 所屬分類: JAVA

          常用鏈接

          留言簿(21)

          隨筆分類(265)

          隨筆檔案(242)

          相冊

          JAVA網站

          關注的Blog

          搜索

          •  

          積分與排名

          • 積分 - 916109
          • 排名 - 40

          最新評論

          主站蜘蛛池模板: 丹棱县| 专栏| 宜城市| 天镇县| 彭泽县| 墨玉县| 瑞安市| 昆明市| 甘肃省| 扎赉特旗| 洞口县| 广安市| 龙陵县| 理塘县| 新津县| 昌平区| 定西市| 台中县| 马公市| 武定县| 濮阳县| 建湖县| 津南区| 旅游| 马尔康县| 铁力市| 榆社县| 平武县| 深水埗区| 巨野县| 墨脱县| 东丰县| 威远县| 安西县| 凤城市| 霍邱县| 浦城县| 高唐县| 涟源市| 电白县| 诸城市|