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

📄 sdalistbox.java

📁 很好的UI界面源码..还有自己的输入法,可以更换风格.可以学习和使用
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
package cn.sda.ui;import cn.sda.event.KeybordEvent;import cn.sda.event.PointerEvent;import javax.microedition.lcdui.Graphics;import java.util.Vector;import javax.microedition.lcdui.Image;/** * @author not attributable * @version 1.0 */public class SDAListBox extends SDABaseControl {    //边框    private int borderStyle = SDAConsts.bsFixedSingle;    //隐藏选定内容    private boolean hideSelection = true;    //滚动边框(多行)    private int scrollBars = SDAConsts.srVertical;    private int barwidth = 10;    //边框线颜色    private int borderColor = SDAConsts.clBlack;    //滚动条颜色    private int scrollBarColor = SDAConsts.clBtnFace;    //选中后字体颜色    private int selectedForeColor = SDAConsts.clWhite;    private int selectedBackColor = SDAConsts.clFocusShadow;    //内部变量    //行数,行最大长度    private int maxLineLenght = 0;    private int maxLineNum = 0;    //最大可见完整行数    private int maxVisibleLineNum = 0;    //垂直开始显示行    private int startLine = 0;    //水平开始显示位置    private int startLeft = 0;    //变动前位置    private int oldStartLine = 0;    private int oldStartLeft = 0;    //水平滚条位置    private int HSLeft = 0;    private int HSTop = 0;    private int HSWidth = 0;    private int HSHeight = 0;    //垂直滚动条位置    private int VSLeft = 0;    private int VSTop = 0;    private int VSWidth = 0;    private int VSHeight = 0;    //点击的滚动条的位置    private int oldScrollPointx = 0;    private int oldScrollPointy = 0;    //按下滚动条    private boolean isscrollbarpointdown = false;    //记录按下的滚动条0:水平,1:垂直的    private byte scrollbardownHV = 0;    //行的列表    private Vector itemList;    //当前选择行    private int itemIndex = -1;    //显示选择框    private boolean showCheckBox = false;    //显示图    private boolean showItemImage = false;    public SDAListBox() {        super();        internalSDAListBox();    }    private void internalSDAListBox() {        itemList = new Vector();        this.setVisible(true);        setLeft(0);        setTop(0);        setBorderStyle(SDAConsts.bsFixedSingle);        super.setWidth(160);        setHeight(100);        super.setBackColor(SDAConsts.clWhite);        this.onPointerPressed = new PointerEvent() {            public void Event(SDABaseControl ctrl, int x, int y) {                doPointerPressed(x, y);            }        };        this.onPointerReleased = new PointerEvent() {            public void Event(SDABaseControl ctrl, int x, int y) {                doPointerReleased(x, y);            }        };        this.onKeyUp = new KeybordEvent() {            public void Event(SDABaseControl ctrl, int keyCode) {                doKeyUp(keyCode);            }        };    }    //增加项    public SDAListItem addItem(String itemString, Image image, boolean isChecked) {        return internalAddItem(itemString, image, isChecked);    }    private SDAListItem internalAddItem(String itemString, Image image, boolean isChecked) {        SDAListItem listitem = new SDAListItem();        listitem.setImage(image);        listitem.setChecked(isChecked);        listitem.setItemString(itemString);        itemList.addElement(listitem);        if (itemIndex == -1) {            itemIndex = 0;        }        internalPaint();        return listitem;    }    //删除项    public void deleteItem(int itemIndex) {        internalDeleteItem(itemIndex);    }    private void internalDeleteItem(int itemIndex) {        if (itemList.size() > itemIndex) {            itemList.removeElementAt(itemIndex);            if (itemList.size() == 0) {                itemIndex = -1;            }            internalPaint();            System.gc();        }    }    //清除所有项目    public void clear() {        internalClear();    }    private void internalClear() {        itemList.removeAllElements();        itemIndex = -1;        System.gc();        internalPaint();    }    //获取项    public Image getItemImage(int itemIndex) {        return internalGetItemImage(itemIndex);    }    private Image internalGetItemImage(int itemIndex) {        if (itemList.size() > itemIndex) {            SDAListItem listitem = (SDAListItem) itemList.elementAt(itemIndex);            return listitem.getImage();        } else {            return null;        }    }    public String getItemString(int itemIndex) {        return internalGetItemString(itemIndex);    }    private String internalGetItemString(int itemIndex) {        if (itemList.size() > itemIndex) {            SDAListItem listitem = (SDAListItem) itemList.elementAt(itemIndex);            return listitem.getItemString();        } else {            return null;        }    }    //查找判断是否有指定内容的项    public boolean findItem(String itemValue) {        return getItem(itemValue) == null ? false : true;    }    public SDAListItem getItem(String itemValue) {        return internalGetItem(itemValue);    }    public SDAListItem getItem() {        return (SDAListItem) itemList.elementAt(itemIndex);    }    public SDAListItem getItem(int Index) {        return (SDAListItem) itemList.elementAt(Index);    }    private SDAListItem internalGetItem(String itemValue) {        SDAListItem item = null;        SDAListItem result = null;        for (int i = 0; i < itemList.size(); i++) {            item = (SDAListItem) itemList.elementAt(i);            if (item.getItemString().equals(itemValue)) {                result = item;                break;            }        }        return result;    }    public boolean getItemChecked(int itemIndex) {        return internalGetItemChecked(itemIndex);    }    private boolean internalGetItemChecked(int itemIndex) {        if (itemList.size() > itemIndex) {            SDAListItem listitem = (SDAListItem) itemList.elementAt(itemIndex);            return listitem.isChecked();        } else {            return false;        }    }    public int getItemCount() {        return itemList.size();    }    public boolean isShowCheckBox() {        return showCheckBox;    }    public void setShowCheckBox(boolean showCheckBox) {        this.showCheckBox = showCheckBox;        internalPaint();    }    public boolean isShowItemImage() {        return showItemImage;    }    public void setShowItemImage(boolean showItemImage) {        this.showItemImage = showItemImage;    }    public void setItemChecked(int itemIndex, boolean Checked) {        internalSetItemChecked(itemIndex, Checked);    }    private void internalSetItemChecked(int itemIndex, boolean Checked) {        if (itemList.size() > itemIndex) {            SDAListItem listitem = (SDAListItem) itemList.elementAt(itemIndex);            listitem.setChecked(Checked);            internalPaint();        }    }    public void setItemImage(int itemIndex, Image image) {        internalSetItemImage(itemIndex, image);    }    private void internalSetItemImage(int itemIndex, Image image) {        if (itemList.size() > itemIndex) {            SDAListItem listitem = (SDAListItem) itemList.elementAt(itemIndex);            listitem.setImage(image);            internalPaint();        }    }    public void setItemString(int itemIndex, String itemString) {        internalSetItemString(itemIndex, itemString);    }    private void internalSetItemString(int itemIndex, String itemString) {        if (itemList.size() > itemIndex) {            SDAListItem listitem = (SDAListItem) itemList.elementAt(itemIndex);            listitem.setItemString(itemString);            internalPaint();        }    }    //画    public void paint() {        internalPaint();    }    private void internalPaint() {        if (!IsCanPaint()) {            return;        }        Graphics g = form.getGraphics();        InternalPaint(g);        PaintChilds();    }    protected void InternalPaint(Graphics g) {        //可视下才画        if (isVisible()) {            //初始化引用变量            int thisWidth = getWidth();            int thisHeight = getHeight();            int HBarWidth = getHBarWidth();            int VBarHeight = getVBarHeight();            //对齐方式处理后,画组件            //设置字体            g.setFont(getFont());            //外框            SetClip(g);            //透明            if (!isTransparent()) {                g.setColor(backColor);                fillRect(g, 0, 0, thisWidth, thisHeight);            }            if (borderStyle == SDAConsts.bsFixed3D) {                g.setColor(SDAConsts.clGray);                drawLine(g, 0, 0, thisWidth, 0);                drawLine(g, 0, 0, 0, thisHeight);                g.setColor(SDAConsts.clBlack);                drawLine(g, 1, 1, thisWidth - 1, 1);                drawLine(g, 1, 1, 1, thisHeight - 1);                g.setColor(SDAConsts.clBtnFace);                drawLine(g, 2, thisHeight - 1, thisWidth - 2, thisHeight - 1);                drawLine(g, thisWidth - 1, 2, thisWidth - 1, thisHeight - 1);                g.setColor(SDAConsts.clWhite);                drawLine(g, 1, thisHeight, thisWidth, thisHeight);                drawLine(g, thisWidth, 1, thisWidth, thisHeight);                if (isFoucsed()) {

⌨️ 快捷键说明

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