📄 alert.java
字号:
* displayed. If <code>img</code> is already the * <code>Image</code> of this <code>Alert</code>, the effect * is as if a new snapshot of img's contents is taken. Thus, after * painting into a mutable image contained by an <code>Alert</code>, the * application can call * * <TABLE BORDER="2"> * <TR> * <TD ROWSPAN="1" COLSPAN="1"> * <pre><code> * alert.setImage(alert.getImage()); </code></pre> * </TD> * </TR> * </TABLE> * <p>to refresh the <code>Alert's</code> snapshot of its * <code>Image</code>.</p> * * <p>If the <code>Alert</code> is visible on the display when its * contents are updated * through a call to <code>setImage</code>, the display will be * updated with the new * snapshot as soon as it is feasible for the implementation to do so. * </p> * * @param img the Alert's image, or null if there is no image * @see #getImage() */ public void setImage( Image img) { setImage(img, null); } /** * 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 * displayed. If <code>img</code> is already the * <code>Image</code> of this <code>Alert</code>, the effect * is as if a new snapshot of img's contents is taken. Thus, after * painting into a mutable image contained by an <code>Alert</code>, the * application can call * * <TABLE BORDER="2"> * <TR> * <TD ROWSPAN="1" COLSPAN="1"> * <pre><code> * alert.setImage(alert.getImage()); </code></pre> * </TD> * </TR> * </TABLE> * <p>to refresh the <code>Alert's</code> snapshot of its * <code>Image</code>.</p> * * <p>If the <code>Alert</code> is visible on the display when its * contents are updated * through a call to <code>setImage</code>, the display will be * updated with the new * snapshot as soon as it is feasible for the implementation to do so. * </p> * * @param img the Alert's image, or null if there is no image * @param style the new style * @see #getImage() */ public void setImage( Image img, Style style ) { if (this.iconItem == null) { createItem(null, img, style); } else if (style != null) { this.iconItem.setStyle(style); } this.iconItem.setImage(img); } /** * Sets an activity indicator on this <code>Alert</code>. The * activity indicator is a * <A HREF="../../../javax/microedition/lcdui/Gauge.html"><CODE>Gauge</CODE></A> object. It must be in a restricted state in order for it * to be used as the activity indicator for an <code>Alert</code>. * The restrictions * are listed <a href="#indicator">above</a>. If the * <code>Gauge</code> object * violates any of these restrictions, * <code>IllegalArgumentException</code> is thrown. * * <p>If <code>indicator</code> is <code>null</code>, this removes any * activity indicator present on this <code>Alert</code>.</p> * * @param indicator - the activity indicator for this Alert, or null if there is to be none * @throws IllegalArgumentException - if indicator does not meet the restrictions for its use in an Alert * @see #getIndicator() * @since MIDP 2.0 */ public void setIndicator( Gauge indicator) { setIndicator( indicator, null ); } /** * Sets an activity indicator on this <code>Alert</code>. The * activity indicator is a * <A HREF="../../../javax/microedition/lcdui/Gauge.html"><CODE>Gauge</CODE></A> object. It must be in a restricted state in order for it * to be used as the activity indicator for an <code>Alert</code>. * The restrictions * are listed <a href="#indicator">above</a>. If the * <code>Gauge</code> object * violates any of these restrictions, * <code>IllegalArgumentException</code> is thrown. * * <p>If <code>indicator</code> is <code>null</code>, this removes any * activity indicator present on this <code>Alert</code>.</p> * * @param indicator - the activity indicator for this Alert, or null if there is to be none * @param style the style * @throws IllegalArgumentException - if indicator does not meet the restrictions for its use in an Alert * @see #getIndicator() * @since MIDP 2.0 */ public void setIndicator( Gauge indicator, Style style ) { if (this.indicator != null) { this.container.remove( this.indicator ); } if (style != null && indicator != null) { indicator.setStyle( style ); } this.indicator = indicator; this.container.add( this.indicator ); } /** * Gets the activity indicator for this <code>Alert</code>. * * @return a reference to this Alert's activity indicator, or null if there is none * @see #setIndicator( Gauge ) * @since MIDP 2.0 */ public Gauge getIndicator() { return this.indicator; } //#ifdef polish.useDynamicStyles protected String createCssSelector() { return "alert"; } //#endif /* (non-Javadoc) * @see de.enough.polish.ui.Screen#paintScreen(javax.microedition.lcdui.Graphics) */// protected void paintScreen(Graphics g) {// int x = this.contentX;// int y = this.contentY;// int height = this.contentHeight;// int width = this.contentWidth;// if (this.indicator != null) {// if ( (this.indicator.layout & Item.LAYOUT_TOP) == Item.LAYOUT_TOP ) {// this.indicator.paint( x, y, x, x + width, g );// y += this.indicator.itemHeight;// } else {// int indicatorHeight = this.indicator.getItemHeight(width, width);// this.indicator.paint( x, y + height - indicatorHeight, x, x + width, g );// }// height -= this.indicator.itemHeight;// }// if (this.iconItem != null) {// if ( (this.iconItem.layout & Item.LAYOUT_TOP) == Item.LAYOUT_TOP ) {// this.iconItem.paint( x, y, x, x + width, g );// //y += this.iconItem.itemHeight;// } else {// int iconItemHeight = this.iconItem.getItemHeight(width, width);// this.iconItem.paint( x, y + height - iconItemHeight, x, x + width, g );// }// }// } /* (non-Javadoc) * @see de.enough.polish.ui.Screen#animate() */ public boolean animate() { boolean animated = super.animate(); //System.out.println("Alert: super.animate()=" + animated ); if (this.iconItem != null) { animated |= this.iconItem.animate(); } if (this.indicator != null) { animated |= this.indicator.animate(); } if (this.timeout != FOREVER ) { if (System.currentTimeMillis() - this.showTime > this.timeout) { commandAction(DISMISS_COMMAND, this); return false; } } return animated; } /* (non-Javadoc) * @see de.enough.polish.ui.Screen#getRootItems() */// protected Item[] getRootItems() {// if (this.iconItem != null ) {// if (this.indicator != null) {// return new Item[]{ this.iconItem, this.indicator };// } else {// return new Item[]{ this.iconItem };// }// } else if (this.indicator != null) {// return new Item[]{ this.indicator };// } else {// return new Item[0];// }// } /* (non-Javadoc) * @see javax.microedition.lcdui.CommandListener#commandAction(javax.microedition.lcdui.Command, javax.microedition.lcdui.Displayable) */ public void commandAction(Command cmd, Displayable thisScreen) { if (this.nextDisplayable == null) { //#debug error System.out.println("unablet to handle command " + cmd.getLabel() + ": nextDisplayable == null."); //throw new IllegalStateException(); return; } Displayable next = this.nextDisplayable; this.nextDisplayable = null; //#debug System.out.println("Alert: setting nextDisplayable=" + next ); StyleSheet.display.setCurrent( next ); } /* (non-Javadoc) * @see de.enough.polish.ui.Screen#showNotify() */ public void showNotify() { this.showTime = System.currentTimeMillis(); if (this.nextDisplayable == null) { Displayable last = StyleSheet.display.getCurrent(); if (last != this && last != null) { this.nextDisplayable = last; } } super.showNotify(); } public static void setCurrent( Display display, Alert alert, Displayable nextDisplayable ) { //#debug System.out.println("Alert.setCurrent() of " + alert + " with nextDisplayable=" + nextDisplayable); if (nextDisplayable == null) { //System.out.println("Alert: storing current displayable from display"); nextDisplayable = display.getCurrent(); } alert.nextDisplayable = nextDisplayable; display.setCurrent( alert ); } //#if polish.css.show-dismiss-command /* (non-Javadoc) * @see de.enough.polish.ui.Screen#setStyle(de.enough.polish.ui.Style) */ public void setStyle(Style style) { super.setStyle(style); //#if polish.css.show-dismiss-command Boolean showDismissCommandBool = style.getBooleanProperty("show-dismiss-command"); if (showDismissCommandBool != null) { this.showDismissCommand = showDismissCommandBool.booleanValue(); if (!this.showDismissCommand && this.timeout != FOREVER) { super.removeCommand(DISMISS_COMMAND); } } //#endif } //#endif}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -