📄 datefield.java
字号:
.append("-"); if (day < 10) { buffer.append( '0' ); } buffer.append( day ) .append("-"); if (year < 10) { buffer.append( "000"); } else if (year < 100) { buffer.append( "00"); } else if (year < 1000) { buffer.append( "0"); } buffer.append( year ); //#elif polish.DateFormat == de if (day < 10) { buffer.append( '0' ); } buffer.append( day ) .append("."); if (month < 9) { buffer.append('0'); } buffer.append( ++month ) .append("."); if (year < 10) { buffer.append( "000"); } else if (year < 100) { buffer.append( "00"); } else if (year < 1000) { buffer.append( "0"); } buffer.append( year ); //#elif polish.DateFormat == fr if (day < 10) { buffer.append( '0' ); } buffer.append( day ) .append("/"); if (month < 9) { buffer.append('0'); } buffer.append( ++month ) .append("/"); if (year < 10) { buffer.append( "000"); } else if (year < 100) { buffer.append( "00"); } else if (year < 1000) { buffer.append( "0"); } buffer.append( year ); //#elif polish.DateFormat == mdy if (month < 9) { buffer.append('0'); } buffer.append( ++month ) //#if polish.DateFormatSeparator:defined //#= .append("${polish.DateFormatSeparator}"); //#else .append("-"); //#endif if (day < 10) { buffer.append( '0' ); } buffer.append( day ) //#if polish.DateFormatSeparator:defined //#= .append("${polish.DateFormatSeparator}"); //#else .append("-"); //#endif if (year < 10) { buffer.append( "000"); } else if (year < 100) { buffer.append( "00"); } else if (year < 1000) { buffer.append( "0"); } buffer.append( year ); //#elif polish.DateFormat == dmy if (day < 10) { buffer.append( '0' ); } buffer.append( day ) //#if polish.DateFormatSeparator:defined //#= .append("${polish.DateFormatSeparator}"); //#else .append("-"); //#endif if (month < 9) { buffer.append('0'); } buffer.append( ++month ) //#if polish.DateFormatSeparator:defined //#= .append("${polish.DateFormatSeparator}"); //#else .append("-"); //#endif if (year < 10) { buffer.append( "000"); } else if (year < 100) { buffer.append( "00"); } else if (year < 1000) { buffer.append( "0"); } buffer.append( year ); //#else // default to YMD if (year < 10) { buffer.append( "000"); } else if (year < 100) { buffer.append( "00"); } else if (year < 1000) { buffer.append( "0"); } buffer.append( year ) //#if polish.DateFormatSeparator:defined //#= .append("${polish.DateFormatSeparator}"); //#else .append("-"); //#endif if (month < 9) { buffer.append('0'); } buffer.append( ++month ) //#if polish.DateFormatSeparator:defined //#= .append("${polish.DateFormatSeparator}"); //#else .append("-"); //#endif if (day < 10) { buffer.append( '0' ); } buffer.append( day ); //#endif if (this.inputMode == DATE_TIME) { buffer.append(' '); } } if ((this.inputMode == TIME) || (this.inputMode == DATE_TIME)) { int hour = this.calendar.get( Calendar.HOUR_OF_DAY ); if (hour < 10) { buffer.append('0'); } buffer.append( hour ) .append(':'); int minute = this.calendar.get( Calendar.MINUTE ); if (minute < 10) { buffer.append('0'); } buffer.append( minute ); } this.text = buffer.toString(); } // date != null if (this.isInitialised) { this.isInitialised = false; repaint(); } } /** * Gets input mode for this date field. Valid input modes are * <code>DATE</code>, <code>TIME</code> and <code>DATE_TIME</code>. * * @return input mode of this field * @see #setInputMode(int) */ public int getInputMode() { return this.inputMode; } /** * Set input mode for this date field. Valid input modes are * <code>DATE</code>, <code>TIME</code> and <code>DATE_TIME</code>. * * @param mode the input mode, must be one of DATE, TIME or DATE_TIME * @throws IllegalArgumentException if an invalid value is specified * @see #getInputMode() */ public void setInputMode(int mode) { //#if polish.blackberry if (this.blackberryDateField != null && mode != this.inputMode) { this.blackberryDateField.setInputMode( mode ); } //#endif this.inputMode = mode; //#if !tmp.directInput if (this.midpDateField != null) { this.midpDateField.setInputMode(mode); } //#endif setDate( this.date ); } /* (non-Javadoc) * @see de.enough.polish.ui.Item#paint(int, int, javax.microedition.lcdui.Graphics) */ public void paintContent(int x, int y, int leftBorder, int rightBorder, Graphics g) { //#if polish.blackberry if (this.isFocused && !StyleSheet.currentScreen.isMenuOpened() ) { this.blackberryDateField.setPaintPosition( x, y ); } else { super.paintContent(x, y, leftBorder, rightBorder, g); } //#else super.paintContent(x, y, leftBorder, rightBorder, g); //#endif //#if tmp.directInput && !polish.blackberry if ( this.isFocused ) { //#if polish.css.font-bitmap if (this.bitMapFontViewer != null) { //System.out.println("this.editIndex="+ this.editIndex ); //#ifdef polish.css.text-horizontal-adjustment x += this.textHorizontalAdjustment; //#endif if (this.isLayoutCenter) { x = leftBorder + (rightBorder - leftBorder)/2 - this.bitMapFontViewer.getWidth()/2; } else if (this.isLayoutRight) { x = rightBorder - this.bitMapFontViewer.getWidth(); } g.setColor( this.textComplementColor ); g.fillRect( x + this.caretX - 1, y - 1, this.caretWidth + 1, this.fontHeight + 1 ); BitMapFontViewer viewer; if (this.showCaret && (viewer = this.caretViewer) != null) { //System.out.println("caretX=" + this.caretX + ", x=" + x); viewer.paint(x + this.caretX, y, g); } } else { //#endif String head = this.text.substring( 0, this.editIndex ); int headWidth = this.font.stringWidth( head ); char editChar = this.text.charAt( this.editIndex ); int editWidth = this.font.charWidth( editChar ); if ( this.isLayoutCenter ) { int centerX = leftBorder + (rightBorder - leftBorder) / 2; //#ifdef polish.css.text-horizontal-adjustment centerX += this.textHorizontalAdjustment; //#endif int completeWidth = this.font.stringWidth( this.text ); x = centerX - ( completeWidth / 2 ); } else if ( this.isLayoutRight ) { int completeWidth = this.font.stringWidth( this.text ); x = rightBorder - completeWidth; } g.fillRect( x + headWidth - 1, y - 1, editWidth + 1, this.font.getHeight() ); if (this.showCaret) { g.setColor( this.textComplementColor ); g.drawChar( editChar, x + headWidth, y, Graphics.TOP | Graphics.LEFT ); } //#if polish.css.font-bitmap } //#endif } //#elif !polish.blackberry if (this.showCaret) { if (this.text == null) { // when the text is null the appropriate font and color // might not have been set, so set them now: g.setFont( this.font ); g.setColor( this.textColor ); } if (this.isLayoutCenter) { int centerX = leftBorder + (rightBorder - leftBorder) / 2 + this.originalWidth / 2 + 2; if (this.originalHeight > 0) { y += this.originalHeight - this.font.getHeight(); } g.drawChar('|', centerX, y, Graphics.TOP | Graphics.LEFT ); } else { x += this.originalWidth + 2; if (this.originalHeight > 0) { y += this.originalHeight - this.font.getHeight(); } g.drawChar('|', x, y, Graphics.TOP | Graphics.LEFT ); } } //#endif } /* (non-Javadoc) * @see de.enough.polish.ui.Item#initItem() */ protected void initContent(int firstLineWidth, int lineWidth) { if (this.date == null) { setDate( null ); } // init StringItem: super.initContent(firstLineWidth, lineWidth); this.originalWidth = this.contentWidth; this.originalHeight = this.contentHeight; if (this.contentWidth < this.minimumWidth) { this.contentWidth = this.minimumWidth; } if (this.contentHeight < this.minimumHeight) { this.contentHeight = this.minimumHeight; } else if (this.contentHeight < this.font.getHeight()) { this.contentHeight = this.font.getHeight(); this.originalHeight = this.contentHeight; } //#if polish.css.font-bitmap && tmp.directInput if (this.bitMapFontViewer != null) { if (this.caretViewer == null) { char editChar = this.text.charAt( 0 ); BitMapFontViewer viewer = this.bitMapFont.getViewer( "" + editChar ); this.caretViewer = viewer; this.caretWidth = viewer.getWidth(); this.caretX = 0; this.fontHeight = viewer.getFontHeight(); } } //#endif //#if polish.blackberry if (!this.isFocused) { return; } this.blackberryDateField.setFont( this.font, this.textColor ); // allow extra pixels for the cursor: this.blackberryDateField.layout( this.contentWidth+8, this.contentHeight ); //System.out.println("TextField: editField.getText()="+ this.editField.getText() ); XYRect rect = this.blackberryDateField.getExtent(); this.contentWidth = rect.width; this.contentHeight = rect.height; //#endif } //#ifdef polish.useDynamicStyles /* (non-Javadoc) * @see de.enough.polish.ui.Item#getCssSelector() */ protected String createCssSelector() { return "datefield"; } //#endif /* (non-Javadoc) * @see de.enough.polish.ui.Item#setStyle(de.enough.polish.ui.Style) */ public void setStyle(Style style) { super.setStyle(style); //#ifdef polish.css.datefield-width Integer width = style.getIntProperty("datefield-width"); if (width != null) { this.minimumWidth = width.intValue(); } //#endif //#ifdef polish.css.datefield-height Integer height = style.getIntProperty("datefield-height"); if (height != null) { this.minimumHeight = height.intValue(); } //#endif //#if tmp.directInput this.textComplementColor = ((255 - (( 0xFF0000 & this.textColor ) >> 16)) << 16) | ((255 - (( 0x00FF00 & this.textColor ) >> 8)) << 8) | (255 - ( 0x0000FF & this.textColor ) ); //#endif } /* (non-Javadoc) * @see de.enough.polish.ui.Item#animate() */ public boolean animate() { long currentTime = System.currentTimeMillis(); if ( currentTime - this.lastCaretSwitch > 500 ) { this.lastCaretSwitch = currentTime; this.showCaret = ! this.showCaret; return true; } else { return false; } } /* (non-Javadoc) * @see de.enough.polish.ui.Item#defocus(de.enough.polish.ui.Style) */ protected void defocus(Style originalStyle) { super.defocus(originalStyle); this.showCaret = false; //#if polish.blackberry this.blackberryDateField.focusRemove(); //#endif } /* (non-Javadoc)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -