[JAVA100例]023、滑动杆 - 编程入门网
作者 佚名技术
来源 NET编程
浏览
发布时间 2012-06-21
windowClosing(WindowEvent e) {} public void windowClosed(WindowEvent e) {} public void windowActivated(WindowEvent e) {} public void windowDeactivated(WindowEvent e) {} /** *<br>方法说明:对滑动杆进行监听 *<br>输入参数:ChangeEvent e 滑动杆变动事件 *<br>返回类型: */ public void stateChanged(ChangeEvent e) { JSlider source = (JSlider)e.getSource(); if (!source.getValueIsAdjusting()) { int fps = (int)source.getValue();//获得滑动杆的值 if (fps == 0) { if (!frozen) stopAnimation(); } else { delay = 1000 / fps; timer.setDelay(delay); timer.setInitialDelay(delay * 10); if (frozen) startAnimation(); } } } /** *<br>方法说明:开始动画 *<br>输入参数: *<br>返回类型: */ public void startAnimation() { timer.start(); frozen = false; } /** *<br>方法说明:停止动画 *<br>输入参数: *<br>返回类型: */ public void stopAnimation() { timer.stop(); frozen = true; } /** *<br>方法说明:事件监听 *<br>输入参数: *<br>返回类型: */ public void actionPerformed(ActionEvent e) { //改变图片帧 if (frameNumber == (NUM_FRAMES - 1)) { frameNumber = 0; } else { frameNumber++; } updatePicture(frameNumber); //显示下张图 if ( frameNumber==(NUM_FRAMES - 1) || frameNumber==(NUM_FRAMES/2 - 1) ) { timer.restart(); } } /** *<br>方法说明:绘制当前帧 *<br>输入参数:int frameNum 图片帧数数 *<br>返回类型: */ protected void updatePicture(int frameNum) { if (images[frameNumber] == null) { images[frameNumber] = createImageIcon("images/doggy/T" + frameNumber + ".gif"); } //绘制图片 if (images[frameNumber] != null) { picture.setIcon(images[frameNumber]); } else { //如果没有发现图片 picture.setText("image #" + frameNumber + " not found"); } } /** *<br>方法说明:获取图片 *<br>输入参数:String path 图片路径 *<br>返回类型:ImageIcon 图片对象 */ protected static ImageIcon createImageIcon(String path) { java.net.URL imgURL = SliderDemo.class.getResource(path); if (imgURL != null) { return new ImageIcon(imgURL); } else { System.err.println("Couldn´t find file: " + path); return null; } } /** *<br>方法说明:主方法 *<br>输入参数: *<br>返回类型: */ public static void main(String[] args) { JFrame.setDefaultLookAndFeelDecorated(true); //定义窗体 JFrame frame = new JFrame("SliderDemo"); frame.setDefaultCloseOperation(JFram |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于[JAVA100例]023、滑动杆 - 编程入门网的所有评论