⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 speedbar.java

📁 电脑编程技巧和源码。很不错的。
💻 JAVA
字号:
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.net.*;

public class   Speedbar extends Canvas {
    int     width,height;
    Image   bar,block;
    Image   offScreenImage;
    Toolkit toolkit;
    protected SpeedListener speedListener=null;
	final int  MAX_SPEED=10;	
	final int  MIN_SPEED=0;
	final int  SPOS=90;
	final int  EPOS=160;
	//boolean firstShow=true;
	int xPos=115;
	int currentValue;
	boolean posChanged=false;
    public  Speedbar()    {
    	//this.bar=bar;
    	//this.block=block;
    	bar =(toolkit.getDefaultToolkit()).getImage("speedbar.gif");
		block=(toolkit.getDefaultToolkit()).getImage("speedscale.gif");
        MediaTracker tracker = new  MediaTracker(this);
        tracker.addImage(bar,0);
        tracker.addImage(block,0);
         try{
            tracker.waitForID(0);
        }
        catch(InterruptedException  e){}
        width = bar.getWidth(this)+2;
        height =block.getHeight(this)+20;
        setSize(width,height);
      	enableEvents(AWTEvent.MOUSE_EVENT_MASK);
        enableEvents(AWTEvent.MOUSE_MOTION_EVENT_MASK);
     }


	public void update(Graphics g){
		paint(g);
	}

    public  void    paint(Graphics  g)    {
		if (posChanged){
			g.drawImage(offScreenImage,0,0,this);
		}else	{
			g.drawImage(bar,0,0,this);
			g.drawImage(block,xPos,10,this); 
		} 
    
	}
	
	
	 //----------
	 public void addSpeedListener(SpeedListener l) {
           speedListener =  l;
     }
	 
	 public void removeSpeedListener(SpeedListener l) {
           speedListener = null;
     }
     
    public void processMouseEvent(MouseEvent event){
 		switch (event.getID()){
        case Event.MOUSE_UP:
        	xPos=event.getX();
        	if (xPos>EPOS+15||xPos<SPOS){
        		posChanged=false;
        	}else{
        	   	posChanged=true;
				if (xPos>EPOS) xPos=EPOS;
        	   	offScreenImage = createImage(width,height);
            	Graphics gr = offScreenImage.getGraphics();
	            gr.drawImage(bar,0,0,this);
    	        gr.drawImage(block,xPos,10,this);
        	    
        	   	currentValue=(xPos-SPOS)*(MAX_SPEED-MIN_SPEED)/(EPOS-SPOS);
        	   	if (speedListener != null) {
	    	        speedListener.getSpeedValue(currentValue);
        		}
        	repaint();
		    }  
        	break;
       }
	}
	
 	 public void processMouseMotionEvent(MouseEvent event){
 		switch (event.getID()){
 		
        case Event.MOUSE_DRAG:
        	xPos=event.getX();
        	if (xPos>EPOS||xPos<SPOS){
        		posChanged=false;
        	}else{
        	   	posChanged=true;
        	   	offScreenImage = createImage(width,height);
            	Graphics gr = offScreenImage.getGraphics();
	            gr.drawImage(bar,0,0,this);
    	        gr.drawImage(block,xPos,10,this);
        	    
        	   	currentValue=(xPos-SPOS)*(MAX_SPEED-MIN_SPEED)/(EPOS-SPOS);
        	   	if (speedListener != null) {
	    	        speedListener.getSpeedValue(currentValue);
        		}
        	repaint();
		    }  
        	break;
       }
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -