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

📄 sdadatetimepicker.java

📁 很好的UI界面源码..还有自己的输入法,可以更换风格.可以学习和使用
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/* * To change this template, choose Tools | Templates * and open the template in the editor. */package cn.sda.ui;import cn.sda.event.BaseEditTextChangeEvent;import cn.sda.event.KeybordEvent;import cn.sda.event.NotifyEvent;import cn.sda.event.PointerEvent;import java.util.Calendar;import java.util.TimeZone;import javax.microedition.lcdui.Graphics;import javax.microedition.lcdui.Font;/** * * @author Administrator */public class SDADateTimePicker extends SDABaseControl {    private int borderColor = SDAConsts.clBlack;    private int arrowWidth = 15;    private int arrowBackColor = SDAConsts.clBtnFace;    private int selectedFontColor = SDAConsts.clWhite;    private int selectedBackColor = SDAConsts.clFocusShadow;    //日期    private int Year = 0;    private int Month = 0;    private int Day = 0;    private int Hour = 0;    private int Minute = 0;    private int Second = 0;    //格式    private int dateKind = SDAConsts.dkDate;    //当前选中类型(Year:0,Month:1,Day:2,Hour:3,Minute:4,Second:5)    private int selectType = -1;    private int selectStart = 0;    private int selectLen = 0;    private String selectText = "";    //日期    Calendar cl = null;    //当前时间       private String dateTime = "";    //编辑框    private SDABaseEdit NumEdit = null;    //是否可以编辑    private boolean canEdit = false;    public SDADateTimePicker() {        super();        cl = Calendar.getInstance(TimeZone.getDefault());        //初始化        Year = cl.get(Calendar.YEAR);        Month = cl.get(Calendar.MONTH) + 1;        Day = cl.get(Calendar.DATE);        Hour = cl.get(Calendar.HOUR_OF_DAY);        Minute = cl.get(Calendar.MINUTE);        Second = cl.get(Calendar.SECOND);        dateTime = String.valueOf(Year) + "-" + String.valueOf(Month) + "-" + String.valueOf(Day);        //可视属性        visible = true;        width = 100;        height = 20;        backColor = SDAConsts.clWhite;        NumEdit = new SDABaseEdit();        NumEdit.setBorderStyle(SDAConsts.bsFixedSingle);        NumEdit.backColor = SDAConsts.clFocusShadow;        NumEdit.foreColor = SDAConsts.clWhite;        NumEdit.visible = false;        setCanEdit(false);        AddControl(NumEdit);        NumEdit.setOnLostFocused(new NotifyEvent() {            public void Event(SDABaseControl ctrl) {                //失去焦点,隐藏                NumEdit.cursorCol = 0;                internalPaint();            }        });        NumEdit.setOnFocused(new NotifyEvent() {            public void Event(SDABaseControl ctrl) {                //设置输入法                form.Application.inputPanel.setImeType(SDAInputPanel.imDigit);                form.repaintControl();            }        });        //内容变化        NumEdit.setOnTextChange(new BaseEditTextChangeEvent() {            public void Event(SDABaseEdit edit) {                //文字变化                int value = 0;                try {                    value = Integer.parseInt(NumEdit.text);                    setSelectValue(value, false);                } catch (Exception e) {                    setSelectValue(Integer.parseInt(selectText), false);                }            }        });        setOnKeyUp(new KeybordEvent() {            public void Event(SDABaseControl ctrl, int keyCode) {                //按下                doKeyUp(keyCode);            }        });        setOnPointerPressed(new PointerEvent() {            public void Event(SDABaseControl ctrl, int x, int y) {                //触屏                doPointerPress(x, y);            }        });    }    private void setTab(boolean tab) {        tabStop = tab;    }    public int getArrowWidth() {        return arrowWidth;    }    public void setArrowWidth(int arrowWidth) {        this.arrowWidth = arrowWidth;        repaintControl();    }    public int getBorderColor() {        return borderColor;    }    public void setBorderColor(int borderColor) {        this.borderColor = borderColor;        repaintControl();    }    public int getArrowBackColor() {        return arrowBackColor;    }    public void setArrowBackColor(int arrowBackColor) {        this.arrowBackColor = arrowBackColor;        repaintControl();    }    //日期显示    private void setDateTime() {        setSelectTypePos(selectType);        Year = cl.get(Calendar.YEAR);        Month = cl.get(Calendar.MONTH) + 1;        Day = cl.get(Calendar.DAY_OF_MONTH);        Hour = cl.get(Calendar.HOUR_OF_DAY);        Minute = cl.get(Calendar.MINUTE);        Second = cl.get(Calendar.SECOND);        if (dateKind == SDAConsts.dkDate) {            dateTime = String.valueOf(Year) + "-" + String.valueOf(Month) + "-" + String.valueOf(Day);        }        if (dateKind == SDAConsts.dkTime) {            dateTime = String.valueOf(Hour) + ":" + String.valueOf(Minute) + ":" + String.valueOf(Second);        }        if (dateKind == SDAConsts.dkDateTime) {            dateTime = String.valueOf(Year) + "-" + String.valueOf(Month) + "-" + String.valueOf(Day) + " " +                    String.valueOf(Hour) + ":" + String.valueOf(Minute) + ":" + String.valueOf(Second);        }        repaintControl();    }    public String getDate() {        return String.valueOf(Year) + "-" + String.valueOf(Month) + "-" + String.valueOf(Day);    }    public String getTime() {        return String.valueOf(Hour) + ":" + String.valueOf(Minute) + ":" + String.valueOf(Second);    }    public String getDateTime() {        return String.valueOf(Year) + "-" + String.valueOf(Month) + "-" + String.valueOf(Day) + " " +                String.valueOf(Hour) + ":" + String.valueOf(Minute) + ":" + String.valueOf(Second);    }    public void setDate(int year, int month, int day) {        setYear(year);        setMonth(month);        setDay(day);    }    public void setTime(int hour, int minute, int second) {        setHour(hour);        setMinute(minute);        setSecond(second);    }    public void setDateTime(int year, int month, int day, int hour, int minute, int second) {        setDate(year, month, day);        setTime(hour, minute, second);    }    public int getDay() {        return Day;    }    public void setDay(int Day) {        try {            cl.set(Calendar.DAY_OF_MONTH, Day);            this.Day = Day;            setDateTime();        } catch (Exception e) {        }    }    public int getHour() {        return Hour;    }    public void setHour(int Hour) {        try {            cl.set(Calendar.HOUR_OF_DAY, Hour);            this.Hour = Hour;            setDateTime();        } catch (Exception e) {        }    }    public int getMinute() {        return Minute;    }    public void setMinute(int Minute) {        try {            cl.set(Calendar.MINUTE, Minute);            this.Minute = Minute;            setDateTime();        } catch (Exception e) {        }    }    public int getMonth() {        return Month;    }    public void setMonth(int Month) {        try {            cl.set(Calendar.MONTH, Month);            this.Month = Month;            setDateTime();        } catch (Exception e) {        }    }    public int getSecond() {        return Second;    }    public void setSecond(int Second) {        try {            cl.set(Calendar.SECOND, Second);            this.Second = Second;            setDateTime();        } catch (Exception e) {        }    }    public int getYear() {        return Year;    }    public void setYear(int Year) {        try {            cl.set(Calendar.YEAR, Year);            this.Year = Year;            setDateTime();        } catch (Exception e) {        }    }    public int getDateKind() {        return dateKind;    }    public void setDateKind(int dateKind) {        this.dateKind = dateKind;        if (dateKind == SDAConsts.dkTime) {            selectType = 3;        } else {            selectType = 0;        }        setSelectTypePos(selectType);        setDateTime();    }    public int getSelectedBackColor() {        return selectedBackColor;    }    public void setSelectedBackColor(int selectedBackColor) {        this.selectedBackColor = selectedBackColor;    }    public int getSelectedFontColor() {        return selectedFontColor;    }    public void setSelectedFontColor(int selectedFontColor) {        this.selectedFontColor = selectedFontColor;    }    //获取修改类型位置    private void setSelectTypePos(int selectType) {        int result = 0;        Font ft = getFont();        int yearLen = ft.stringWidth(String.valueOf(Year));        int monthLen = ft.stringWidth(String.valueOf(Month));        int dayLen = ft.stringWidth(String.valueOf(Day));        int hourLen = ft.stringWidth(String.valueOf(Hour));        int minuteLen = ft.stringWidth(String.valueOf(Minute));        int secondLen = ft.stringWidth(String.valueOf(Second));        if (dateKind == SDAConsts.dkDate || dateKind == SDAConsts.dkDateTime) {            switch (selectType) {                case 0:                    result = 0;                    selectLen = yearLen;                    selectText = String.valueOf(Year);                    break;                case 1:                    result = yearLen + ft.charWidth('-');                    selectLen = monthLen;                    selectText = String.valueOf(Month);                    break;                case 2:                    result = yearLen + monthLen + ft.stringWidth("--");                    selectLen = dayLen;                    selectText = String.valueOf(Day);                    break;            }        }        if (dateKind == SDAConsts.dkDateTime) {            switch (selectType) {                case 3:                    result = yearLen + monthLen + dayLen + ft.stringWidth("-- ");

⌨️ 快捷键说明

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