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 閱讀(367) 評論(0)  編輯  收藏 所屬分類: JAVA

          常用鏈接

          留言簿(21)

          隨筆分類(265)

          隨筆檔案(242)

          相冊

          JAVA網站

          關注的Blog

          搜索

          •  

          積分與排名

          • 積分 - 914107
          • 排名 - 40

          最新評論

          主站蜘蛛池模板: 河北区| 达日县| 广宗县| 紫金县| 靖边县| 古田县| 徐水县| 九龙城区| 阳谷县| 桑日县| 昆山市| 津市市| 丹寨县| 富平县| 大港区| 泊头市| 西乌珠穆沁旗| 项城市| 漳平市| 克东县| 靖江市| 九江市| 清河县| 泾源县| 渭源县| 大新县| 福清市| 和林格尔县| 滦平县| 陆河县| 蚌埠市| 白朗县| 额尔古纳市| 平罗县| 佳木斯市| 城固县| 肃北| 黎川县| 洪雅县| 昭苏县| 武川县|