📄 alert.java
字号:
* The handling and behavior of specific <code>AlertTypes</code> * is described in * <A HREF="../../../javax/microedition/lcdui/AlertType.html"><CODE>AlertType</CODE></A>. <code>null</code> is allowed as the value * of the <code>alertType</code> * parameter and indicates that the <code>Alert</code> is not to * have a specific alert * type. <code>DISMISS_COMMAND</code> is the only * <code>Command</code> present on the new * <code>Alert</code>. The <code>CommandListener</code> * associated with the new <code>Alert</code> is the * <em>default listener</em>. Its behavior is described in more detail in * the section <a href="#commands">Commands and Listeners</a>. * * @param title the title string, or null if there is no title * @param alertText the string contents, or null if there is no string * @param alertImage the image contents, or null if there is no image * @param alertType the type of the Alert, or null if the Alert has no specific type */ public Alert( String title, String alertText, Image alertImage, AlertType alertType) { //#if true //#style alert, default //# this( title, alertText, alertImage, alertType ); //#else this( title, alertText, alertImage, alertType, null ); //#endif } /** * Constructs a new <code>Alert</code> object with the given title, content string and image, and alert type. * * The layout of the contents is implementation dependent. * The timeout value of this new alert is the same value that is * returned by <code>getDefaultTimeout()</code>. * The <code>Image</code> provided may either be mutable or immutable. * The handling and behavior of specific <code>AlertTypes</code> * is described in * <A HREF="../../../javax/microedition/lcdui/AlertType.html"><CODE>AlertType</CODE></A>. <code>null</code> is allowed as the value * of the <code>alertType</code> * parameter and indicates that the <code>Alert</code> is not to * have a specific alert * type. <code>DISMISS_COMMAND</code> is the only * <code>Command</code> present on the new * <code>Alert</code>. The <code>CommandListener</code> * associated with the new <code>Alert</code> is the * <em>default listener</em>. Its behavior is described in more detail in * the section <a href="#commands">Commands and Listeners</a>. * * @param title the title string, or null if there is no title * @param alertText the string contents, or null if there is no string * @param alertImage the image contents, or null if there is no image * @param alertType the type of the Alert, or null if the Alert has no specific type * @param style the style of this Alert */ public Alert( String title, String alertText, Image alertImage, AlertType alertType, Style style ) { super( title, style, true ); if ( alertText != null || alertImage != null ) { createItem( alertText, alertImage, null ); } //#ifdef polish.i18n.useDynamicTranslations String okLabel = Locale.get("polish.command.ok"); if ( okLabel != StyleSheet.OK_CMD.getLabel()) { StyleSheet.OK_CMD = new Command(okLabel, Command.OK, 2 ); DISMISS_COMMAND = StyleSheet.OK_CMD; } //#endif //this.alertType = alertType; addCommand( DISMISS_COMMAND ); super.setCommandListener( this ); } /* (non-Javadoc) * @see de.enough.polish.ui.Screen#addCommand(javax.microedition.lcdui.Command) */ public void addCommand(Command cmd) { super.removeCommand( DISMISS_COMMAND ); super.addCommand(cmd); this.numberOfCommands++; if (this.numberOfCommands > 1) { this.timeout = FOREVER; } } /* (non-Javadoc) * @see de.enough.polish.ui.Screen#removeCommand(javax.microedition.lcdui.Command) */ public void removeCommand(Command cmd) { super.removeCommand(cmd); this.numberOfCommands--; if (this.numberOfCommands == 0) { //#if polish.css.show-dismiss-command if (this.showDismissCommand || this.timeout == FOREVER) { super.addCommand( DISMISS_COMMAND ); } //#else super.addCommand( DISMISS_COMMAND ); //#endif } } /* (non-Javadoc) * @see de.enough.polish.ui.Screen#setCommandListener(javax.microedition.lcdui.CommandListener) */ public void setCommandListener(CommandListener listener) { if (listener == null) { super.setCommandListener(this); } else { super.setCommandListener(listener); } } private void createItem(String alertText, Image alertImage, Style itemStyle) { if (itemStyle == null) { //#style alertcontent? this.iconItem = new IconItem( alertText, alertImage ); } else { this.iconItem = new IconItem( alertText, alertImage, itemStyle ); } this.iconItem.appearanceMode = Item.PLAIN; this.container.add( this.iconItem ); } /** * Gets the default time for showing an <code>Alert</code>, this is Alert.FOREVER in J2ME Polish. * This * is either a * positive value, which indicates a time in milliseconds, or the special * value * <A HREF="../../../javax/microedition/lcdui/Alert.html#FOREVER"><CODE>FOREVER</CODE></A>, * which indicates that <code>Alerts</code> are modal by default. The * value returned will vary across implementations and is presumably * tailored to be suitable for each. * * @return in J2ME Polish the default timeout is always FOREVER */ public int getDefaultTimeout() { return Alert.FOREVER; } /** * Gets the time this <code>Alert</code> will be shown. This is * either a positive * value, which indicates a time in milliseconds, or the special value * <code>FOREVER</code>, which indicates that this * <code>Alert</code> is modal. This value is not * necessarily the same value that might have been set by the * application * in a call to <A HREF="../../../javax/microedition/lcdui/Alert.html#setTimeout(int)"><CODE>setTimeout(int)</CODE></A>. In particular, if the * <code>Alert</code> is made * modal because its contents is large enough to scroll, the value * returned by <code>getTimeout</code> will be <code>FOREVER</code>. * * @return timeout in milliseconds, or FOREVER * @see #setTimeout(int) */ public int getTimeout() { return this.timeout; } /** * Set the time for which the <code>Alert</code> is to be shown. * This must either * be a positive time value in milliseconds, or the special value * <code>FOREVER</code>. * * @param time - timeout in milliseconds, or FOREVER * @throws IllegalArgumentException - if time is not positive and is not FOREVER * @see #getTimeout() */ public void setTimeout(int time) { this.timeout = time; } /** * Gets the type of the <code>Alert</code>. * * @return a reference to an instance of AlertType, or null if the Alert has no specific type * @see #setType(javax.microedition.lcdui.AlertType) */ public AlertType getType() { return this.type; } /** * Sets the type of the <code>Alert</code>. * The handling and behavior of specific <code>AlertTypes</code> * is described in * <A HREF="../../../javax/microedition/lcdui/AlertType.html"><CODE>AlertType</CODE></A>. * * @param type - an AlertType, or null if the Alert has no specific type * @see #getType() */ public void setType( AlertType type) { this.type = type; } /** * Gets the text string used in the <code>Alert</code>. * * @return the Alert's text string, or null if there is no text * @see #setString(java.lang.String) */ public String getString() { if (this.iconItem == null) { return null; } else { return this.iconItem.getText(); } } /** * Sets the text string used in the <code>Alert</code>. * * <p>If the <code>Alert</code> is visible on the display when its * contents are updated * through a call to <code>setString</code>, the display will be * updated with the new * contents as soon as it is feasible for the implementation to do so. * </p> * * @param str the Alert's text string, or null if there is no text * @see #getString() */ public void setString( String str ) { setString(str, null); } /** * Sets the text string used in the <code>Alert</code>. * * <p>If the <code>Alert</code> is visible on the display when its * contents are updated * through a call to <code>setString</code>, the display will be * updated with the new * contents as soon as it is feasible for the implementation to do so. * </p> * * @param str the Alert's text string, or null if there is no text * @param style the style * @see #getString() */ public void setString( String str, Style style ) { if (this.iconItem == null) { createItem(str, null, style); } else if (style != null) { this.iconItem.setStyle(style); } this.iconItem.setText(str); } /** * Gets the <code>Image</code> used in the <code>Alert</code>. * * @return the Alert's image, or null if there is no image * @see #setImage(javax.microedition.lcdui.Image) */ public Image getImage() { if (this.iconItem == null) { return null; } else { return this.iconItem.getImage(); } } /** * Sets the <code>Image</code> used in the <code>Alert</code>. * The <code>Image</code> may be mutable or * immutable. If <code>img</code> is <code>null</code>, specifies * that this <code>Alert</code> has no image. * If <code>img</code> is mutable, the effect is as if a snapshot is taken * of <code>img's</code> contents immediately prior to the call to * <code>setImage</code>. This * snapshot is used whenever the contents of the * <code>Alert</code> are to be
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -