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

📄 form.java

📁 j2me polish学习的经典代码
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
	/**	 * Adds an item consisting of one <code>String</code> to the	 * <code>Form</code>. The effect of this method is identical to	 * <p>	 * <code>	 * append(new StringItem(null, str))	 * </code> </p>	 * 	 * @param str the String to be added	 * @param itemStyle the CSS style for this string	 * @return the assigned index of the Item	 * @throws NullPointerException if str is null	 */	public int append( String str, Style itemStyle )	{		return append( new StringItem(null, str, itemStyle), null );	}	/**	 * Adds an item consisting of one <code>String</code> to the	 * <code>Form</code>. The effect of	 * this method is identical to	 * 	 * <p> <code>	 * append(new StringItem(null, str))	 * </code> </p>	 * 	 * @param str the String to be added	 * @return the assigned index of the Item	 * @throws NullPointerException if str is null	 */	public int append( String str)	{		return append( new StringItem(null, str), null );	}	/**	 * Adds an item consisting of one <code>Image</code> to the	 * <code>Form</code>. The effect of	 * this method is identical to	 * 	 * <p> <code>	 * append(new ImageItem(null, img, ImageItem.LAYOUT_DEFAULT, null))	 * </code> </p>	 * 	 * @param img the image to be added	 * @param itemStyle the CSS style for this string	 * @return the assigned index of the Item	 * @throws NullPointerException if img is null	 */	public int append( Image img, Style itemStyle )	{				return append(new ImageItem(null, img, Item.LAYOUT_DEFAULT, null, itemStyle), null );	}		/**	 * Adds an item consisting of one <code>Image</code> to the <code>Form</code>. 	 * The effect of this method is identical to	 * <p> <code>	 * append(new ImageItem(null, img, ImageItem.LAYOUT_DEFAULT, null))	 * </code> </p>	 * 	 * @param img - the image to be added	 * @return the assigned index of the Item	 * @throws NullPointerException - if img is null	 */	public int append( Image img)	{		return append(new ImageItem(null, img, Item.LAYOUT_DEFAULT, null), null);	}	/**	 * Inserts an item into the <code>Form</code> just prior to	 * the item specified.	 * The size of the <code>Form</code> grows by one.  The	 * <code>itemNum</code> parameter must be	 * within the range <code>[0..size()]</code>, inclusive.	 * The index of the last item is <code>size()-1</code>, and	 * so there is actually no item whose index is	 * <code>size()</code>. If this value	 * is used for <code>itemNum</code>, the new item is inserted	 * immediately after	 * the last item. In this case, the effect is identical to	 * <A HREF="../../../javax/microedition/lcdui/Form.html#append(javax.microedition.lcdui.Item)"><CODE>append(Item)</CODE></A>.	 * 	 * <p> The semantics are otherwise identical to	 * <A HREF="../../../javax/microedition/lcdui/Form.html#append(javax.microedition.lcdui.Item)"><CODE>append(Item)</CODE></A>. </p>	 * 	 * @param itemNum the index where insertion is to occur	 * @param item the item to be inserted	 * @throws IndexOutOfBoundsException if itemNum is invalid	 * @throws IllegalStateException if the item is already owned by a container	 * @throws NullPointerException if item is null	 */	public void insert(int itemNum, Item item)	{		if (itemNum == this.container.size()) {			this.container.add(item);		} else {			this.container.add( itemNum, item );		}	}	/**	 * Deletes the <code>Item</code> referenced by	 * <code>itemNum</code>. The size of the <code>Form</code>	 * shrinks by one. It is legal to delete all items from a	 * <code>Form</code>.	 * The <code>itemNum</code> parameter must be	 * within the range <code>[0..size()-1]</code>, inclusive.	 * 	 * @param itemNum - the index of the item to be deleted	 * @throws IndexOutOfBoundsException - if itemNum is invalid	 */	public void delete(int itemNum)	{		this.container.remove(itemNum);		if (this.isShown() ) {			repaint();		}	}	/**	 * Deletes all the items from this <code>Form</code>, leaving	 * it with zero items.	 * This method does nothing if the <code>Form</code> is already empty.	 * 	 * @since  MIDP 2.0	 */	public void deleteAll()	{		this.container.clear();		if (this.isShown() ) {			repaint();		}	}	/**	 * Sets the item referenced by <code>itemNum</code> to the	 * specified item,	 * replacing the previous item. The previous item is removed	 * from this <code>Form</code>.	 * The <code>itemNum</code> parameter must be	 * within the range <code>[0..size()-1]</code>, inclusive.	 * 	 * <p>The end result is equal to	 * <code>insert(n, item); delete(n+1);</code><br>	 * although the implementation may optimize the repainting	 * and usage of the array that stores the items. <P>	 * 	 * @param itemNum the index of the item to be replaced	 * @param item the new item to be placed in the Form	 * @throws IndexOutOfBoundsException if itemNum is invalid	 * @throws IllegalStateException if the item is already owned by a container	 * @throws NullPointerException if item is null	 */	public void set(int itemNum, Item item)	{		this.container.set( itemNum, item );	}	/**	 * Gets the item at given position.  The contents of the	 * <code>Form</code> are left	 * unchanged.	 * The <code>itemNum</code> parameter must be	 * within the range <code>[0..size()-1]</code>, inclusive.	 * 	 * @param itemNum the index of item	 * @return the item at the given position	 * @throws IndexOutOfBoundsException - if itemNum is invalid	 */	public Item get(int itemNum)	{		return this.container.get( itemNum );	}	/**	 * Sets the <code>ItemStateListener</code> for the	 * <code>Form</code>, replacing any previous	 * <code>ItemStateListener</code>. If	 * <code>iListener</code> is <code>null</code>, simply	 * removes the previous <code>ItemStateListener</code>.	 * 	 * @param iListener the new listener, or null to remove it	 */	public void setItemStateListener( ItemStateListener iListener)	{		this.itemStateListener = iListener;	}	/**	 * Gets the number of items in the <code>Form</code>.	 * 	 * @return the number of items	 */	public int size()	{		return this.container.size();	}	//#ifdef polish.useDynamicStyles		/* (non-Javadoc)	 * @see de.enough.polish.ui.Screen#getCssSelector()	 */	protected String createCssSelector() {		return "form";	}	//#endif			/**	 * Adds the given item to the queue for state notifications.	 * The ItemStateListener will be called at the next possibility.	 * 	 * @param item the item which contents have been edited.	 */	protected void addToStateNotifyQueue( Item item ) {		if (this.itemStateListener != null) {			if (this.stateNotifyQueue == null) {				this.stateNotifyQueue = new ArrayList();			}			synchronized (this.stateNotifyQueue) {				this.stateNotifyQueue.add( item );			}			//#debug			System.out.println("added item " + item + " to stateNotifyQueue with listener " + this.itemStateListener + ", size of queue=" + this.stateNotifyQueue.size() + " to form " + this  );		}	}		/**	 * Notifies the ItemStateListener about the changes which occurred to the items.	 */	protected void notifyStateListener() {		if (this.stateNotifyQueue != null && this.itemStateListener != null) {			Item lastItem = null;			while (this.stateNotifyQueue.size() > 0) {				Item item;				synchronized (this.stateNotifyQueue) {					item = (Item) this.stateNotifyQueue.remove(0);				}				if (item != lastItem) {					//#debug					System.out.println("notifying ItemStateListener for item " + item + " and form " + this ); 					this.itemStateListener.itemStateChanged(item);					lastItem = item;				}			}			//#debug			System.out.println("done notifying ItemStateListener."); 		}	}		/* (non-Javadoc)	 * @see de.enough.polish.ui.Screen#animate()	 */	public boolean animate() {		boolean animated = false;		if ( (this.itemStateListener != null) 				&& (this.stateNotifyQueue != null) 				&& (this.stateNotifyQueue.size() > 0 ) ) {			notifyStateListener();			animated = true;		}		return animated | super.animate();	}}

⌨️ 快捷键说明

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