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

📄 component.java

📁 soure code for j2me browser
💻 JAVA
字号:
/* * Fire (Flexible Interface Rendering Engine) is a set of graphics widgets for creating GUIs for j2me applications.  * Copyright (C) 2006  Bluebird co (www.bluebird.gr) * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. *  *  * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU * Lesser General Public License for more details. *  * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA *  *//* * Created on May 17, 2006 */package gr.bluevibe.fire.components;import gr.bluevibe.fire.util.CommandListener;import gr.bluevibe.fire.util.ComponentListener;import javax.microedition.lcdui.Command;import javax.microedition.lcdui.Displayable;import javax.microedition.lcdui.Graphics;/** * Fire Components are pretty much the same as Components in j2se. * Every component has a paint method and it is expected to draw its contents inside a rectangle of given width/height. * A component can have commands associated with it. *    * @author padeler * */public class Component{	private int _componentID=-1;		private int height=-1;	private int width=-1;	private int minWidth;	private int minHeight;		private Command cmd=null;	private CommandListener listener=null;	private boolean selected=false;			private ComponentListener validator = null;		public Component()	{	}		/**	 * Paint is called by the container of the component to allow it to draw itself on Graphics g	 * The drawable area on g is (0,0,width,height).	 * 	 * @param g the area on witch the component will draw it self.	 */	public void paint(Graphics g)	{		}		/**	 * If a component is traversable it can have commands associated with it and receive key and tap events (and vice versa).	 * @return	 */	public boolean isTraversable()	{		if(cmd==null) return false;		return true;	}		/**	 * If a componets states that it is animated, it will receive periodically clock events in order to update its animation.	 * @return	 */	public boolean isAnimated()	{		return false;	}		/**	 * Animated components receive clock events in order to update their animation.	 * @return true if repainting is needed after the clock event.	 */	public boolean clock() {return false;}		/**	 * Sets this component on/off selected mode. 	 * @param v	 */	public void setSelected(boolean v){selected = v;}		public boolean isSelected(){return selected;}		/**	 * Key events are propagated from FireScreen down to the components of the panel or the popup that contains them.	 * If a component if not traversable it will not recieve key events.	 * @param key	 * @return	 */	public boolean keyEvent(int key){return false;}	public boolean pointerEvent(int x,int y){return false;}		/**	 * A validate event requests from the component to recalculate its internal properties suck as width/height etc.	 *	 */	public void validate(){}	public int getHeight()	{		return height;	}	public void setHeight(int height)	{		this.height = height;	}		public int getMinHeight()	{		return minHeight;	}	public void setMinHeight(int minHeight)	{		this.minHeight = minHeight;	}	public int getMinWidth()	{		return minWidth;	}	public void setMinWidth(int minWidth)	{		this.minWidth = minWidth;	}	public int getWidth()	{		return width;	}	public void setWidth(int width)	{		this.width = width;	}		/**	 * Add a command to the components. If a components has a command assosiated with it, then it is considered traversable.	 * @param c	 */	public void addCommand(Command c)	{		cmd=c;	}		public void setCommandListener(CommandListener listener)	{		this.listener=listener;	}		protected final boolean generateEvent()	{		if(listener!=null && cmd!=null)		{			listener.commandAction(cmd,this);			return true;		}		return false;	}	int get_componentID()	{		return _componentID;	}	void set_componentID(int _componentid)	{		_componentID = _componentid;	}		public boolean equals(Object o)	{		if(o instanceof Component)		{			Component c = (Component)o;			if(c.get_componentID()==get_componentID()) return true;		}		return false;	}		void addValidateListener(ComponentListener validator)	{		this.validator = validator;	}		protected void fireValidateEvent()	{		if(validator!=null)		{			validator.internalValidateEvent(this);		}	}		protected void setCurrent(Displayable d)	{		if(validator!=null)		{			validator.setCurrent(d);		}	}		protected void setContainerCurrent()	{		if(validator!=null)		{			validator.setContainerCurrent();		}	}}

⌨️ 快捷键说明

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