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

📄 mylogo.java

📁 情话宝典
💻 JAVA
字号:
import javax.microedition.lcdui.*;
import com.nokia.mid.ui.FullCanvas;

public class MyLogo extends FullCanvas implements Logo, Runnable{

	// interface Logo
	public void addLogoListener( LogoListener logoListener ){
		listener = logoListener;
	}
	public void showLogo( Display display ){
		thread = new Thread( this );
		thread.start();
		display.setCurrent( this );
	}
	public void clearLogo(){
		imgLogo = null;
		imgLogo2 = null;
	}

	// interface Runnable
	public void run(){
		while( !done ){
			try{
				Thread.sleep( sleepTime );

				switch( state ){
					case 1:
						showLogo();
						break;
					case 0:				// pause
						break;
				}
			}
			catch( InterruptedException e ){
			}
		}
	}

	public void paint( Graphics gg ){
		g = gg;
		if( imgLogo != null ){
			if( counter >= time2 && counter < time3 ){
				g.setColor( 255, 255, 255 );
			}
			else{
				g.setColor( 0, 0, 0 );
			}
			g.fillRect( 0, 0, getWidth(), getHeight() );
			g.drawImage( imgLogo, (getWidth()-imgLogo.getWidth())/2, 
									(getHeight()-imgLogo.getHeight())/2, 4|16 );
		}
	}

	protected void keyPressed( int keyCode ){
		if( counter > time4 ){
			stop();
		}
	}
	protected void showNotify(){
		state = 1;
	}
	protected void hideNotify(){
		state = 0;
	}

	private void showLogo(){
		if( counter < time1 ){
			if( counter == 0 ){
				try{
					imgLogo = Image.createImage( "/logo1.png" );
					drawImageCenterWhite( g, imgLogo );
					repaint();
				}
				catch( Exception e ){
					e.printStackTrace();
				}
			}
		}
		else if( counter < time2 ){
			if( counter == time1 ){
				try{
					imgLogo = Image.createImage( "/logo2.png" );
					drawImageCenter( g, imgLogo );
					repaint();
				}
				catch( Exception e ){
					e.printStackTrace();
				}
			}
		}
		else if( counter < time3 ){
			if( counter == time2 ){
				try{
					imgLogo = Image.createImage( "/logo3.png" );
					drawImageCenterWhite( g, imgLogo );
					repaint();
				}
				catch( Exception e ){
					e.printStackTrace();
				}
			}
		}
		else if( counter < time4 ){
			if( counter == time3 ){
				try{
					imgLogo = Image.createImage( "/logo4.png" );
					drawImageCenter( g, imgLogo );
					repaint();
				}
				catch( Exception e ){
					e.printStackTrace();
				}
			}
		}
		else if( counter < time5 ){
			if( counter == time4 ){
				try{
					imgLogo = Image.createImage( "/logo5.png" );
					drawImageCenter( g, imgLogo );
					repaint();
					listener.playLogo();
				}
				catch( Exception e ){
					e.printStackTrace();
				}
			}
		}
		else{
			stop();
		}
		counter++;
	}

	private void drawImageCenter( Graphics g, Image image ){
		g.setColor( 0, 0, 0 );
		g.fillRect( 0, 0, getWidth(), getHeight() );
		g.drawImage( image, (getWidth()-image.getWidth())/2, (getHeight()-image.getHeight())/2, 16|4 );
	}
	private void drawImageCenterWhite( Graphics g, Image image ){
		g.setColor( 255, 255, 255 );
		g.fillRect( 0, 0, getWidth(), getHeight() );
		g.drawImage( image, (getWidth()-image.getWidth())/2, (getHeight()-image.getHeight())/2, 16|4 );
	}
	private void stop(){
		System.out.println( "logo complete" );
		done = true;
		listener.logoStop();
	}

	private LogoListener listener;

	private Thread thread;
	private boolean done = false;			// 是否运行完成
//	private boolean run = false;			// 是否运行到
	private int state = 0;
	private int counter = 0;
	private int time1 = 20;
	private int time2 = 40;
	private int time3 = 60;
	private int time4 = 80;
	private int time5 = 160;
	private int sleepTime = 100; 
	private Image imgLogo;
	private Image imgLogo2;
	private Graphics g;

}

⌨️ 快捷键说明

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