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

📄 figure.java

📁 J2ME上的一个播放器,可以更换皮肤.开源软件.
💻 JAVA
字号:
package inline.ui.ce;

import inline.ui.*;
import java.util.*;
import javax.microedition.lcdui.*;


    public class Figure extends AnimatedCanvasElement 
    {
	private int figure;
	private int ratio;
	
	private int figure_first;
	private int figure_last;

	private int ratio_left;
	private int ratio_right;
	private int ratio_step;
	
        public Figure(HostCanvas prnt, int x, int y, int w, int h, int ffigure)
        {
            super(prnt, x,y,w,h);
            figure = ffigure;
	    ratio = 100;
	    setStyleable(true);
	}
        
        public Figure(HostCanvas prnt)
        {
            this(prnt, 0,0,0,0, 0);
        }

	public void paintElement(Graphics g) 
        {
            synchronized (g) 
            {

		int px = ((getWidth()>>1)*(100-ratio))/100;
		int py = (getHeight()>>1)*(100-ratio)/100;
		int pw = getWidth()*ratio/100;
		int ph = getHeight()*ratio/100;
		execMetaCommands(g, figure, px, py, pw, ph);
		
		animateStep();
            }
        }

	public void setFigure(int ffigure)
	{
	    if (ffigure>=(figidxs.length-1)) ffigure = 0;
            figure = ffigure;
	    repaint();
	}

	public int getFigure()
	{
            return figure;
	}

	public void setAnimated(int ffigure_first, int ffigure_last, int ainterval)
	{
	    figure_first = ffigure_first;
	    figure_last = ffigure_last;
	    
	    figure = figure_first;
	    
	    if (ainterval>0)
	    {
		setAnimated(true);
		setInterval(ainterval);
	    }
	}
	
	public void setRatio(int rratio_init, int rratio_left, int rratio_right, int rstep)
	{
	    ratio_left = rratio_left;
	    ratio_right = rratio_right;
	    
	    ratio = rratio_init;
	    ratio_step = rstep;
	}

	protected void onAnimate()
	{
	    repaint();
	}
	
	private void animateStep()
	{
	    if (figure_first==figure_last)
	    {
		// not animated
	    }
	    else if (figure_first<figure_last)
	    {
		figure++;
		if (figure>figure_last) figure = figure_first;
	    }
	    else
	    {
		figure--;
		if (figure<figure_last) figure = figure_first;
	    }
	    
	    if (ratio_step!=0)
	    {
		ratio = ratio + ratio_step;
		
		if (ratio>ratio_right)
		{
		    ratio = ratio_right;
		    ratio_step = -ratio_step;
		}
		else if (ratio<ratio_left)
		{
		    ratio = ratio_left;
		    ratio_step = -ratio_step;
		}
	    }
	}
    }



⌨️ 快捷键说明

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