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

📄 picture.java

📁 关于J4ME J2ME实例
💻 JAVA
字号:
package org.j4me.ui.components;

import java.io.*;
import javax.microedition.lcdui.*;
import org.j4me.ui.*;

/**
 * The <code>Picture</code> component shows an <code>Image</code>.  Typically this
 * is a PNG resource.  It can also be an image created manually using
 * the <code>Image.createImage</code> methods.
 * 
 * @see javax.microedition.lcdui.Image
 */
public class Picture
	extends Component
{
	/**
	 * The image object displayed by this <code>Picture</code> component.
	 */
	private Image image;
	
	/**
	 * Constructs a <code>Picture</code> component.
	 */
	public Picture ()
	{
	}
	
	/**
	 * @return The <code>Image</code> displayed by this component.
	 */
	public Image getImage ()
	{
		return image;
	}
	
	/**
	 * @param image is the <code>Image</code> displayed by this component.
	 */
	public void setImage (Image image)
	{
		this.image = image;
	}
	
	/**
	 * Sets the image displayed by this component to a PNG resource. 
	 * 
	 * @param location is place in the Jar file the PNG resource is located.
	 *  For example if it were in a directory called <code>img</code> this would
	 *  be <code>"/img/filename.png"</code>.
	 * @throws IOException if the PNG could not be loaded from <code>location</code>.
	 */
	public void setImage (String location)
		throws IOException
	{
		this.image = Image.createImage( location );
	}
	
	/**
	 * Paints the picture component.
	 * 
	 * @see org.j4me.ui.components.Component#paintComponent(javax.microedition.lcdui.Graphics, org.j4me.ui.Theme, int, int, boolean)
	 */
	protected void paintComponent (Graphics g, Theme theme, int width, int height, boolean selected)
	{
		if ( image != null )
		{
			// Determine the screen position.
			int horizontalAlignment = getHorizontalAlignment();
			int anchor = horizontalAlignment | Graphics.TOP;

			int y = (height - image.getHeight()) / 2;
			
			int x;
			
			if ( horizontalAlignment == Graphics.LEFT )
			{
				x = 0;
			}
			else if ( horizontalAlignment == Graphics.HCENTER )
			{
				x = width / 2;
			}
			else  // horizontalAlignment == Graphics.RIGHT
			{
				x = width;
			}

			// Paint image.
			g.drawImage( image, x, y, anchor ); 
		}
	}

	/**
	 * Returns the dimensions of the check box.
	 * 
	 * @see org.j4me.ui.components.Component#getPreferredComponentSize(org.j4me.ui.Theme, int, int)
	 */
	protected int[] getPreferredComponentSize (Theme theme, int viewportWidth, int viewportHeight)
	{
		if ( image == null )
		{
			throw new IllegalStateException();
		}
		
		return new int[] { image.getWidth(), image.getHeight() };
	}
}

⌨️ 快捷键说明

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