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

📄 sdagrid.java

📁 很好的UI界面源码..还有自己的输入法,可以更换风格.可以学习和使用
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
package cn.sda.ui;import cn.sda.enterprise.*;import cn.sda.event.DrawGridCellEvent;import cn.sda.event.GridCellClickEvent;import cn.sda.event.KeybordEvent;import cn.sda.event.PointerEvent;import javax.microedition.lcdui.Graphics;import java.util.Vector;/** * @author not attributable * @version 1.0 */public class SDAGrid extends SDABaseControl {    //数据集合    private SDADataSet DataSet = null;    private SDADataSet oldDataSet = null;    //各列宽度    private Vector ColumnsList;    //边框    private int borderStyle = SDAConsts.bsNone;    //隐藏选定内容    private boolean hideSelection = true;    //滚动边框(多行)    private int scrollBars = SDAConsts.srNone;    //边框线颜色    private int borderColor = SDAConsts.clBlack;    //滚动条颜色    private int FixedColor = SDAConsts.clBtnFace;    //选中后字体颜色    private int selectedFontColor = SDAConsts.clWhite;    //选中行后,行的背景色    private int selectedBackColor = SDAConsts.clFocusShadow;    private int lostFocusSelectedBackColor = SDAConsts.clGray;    //统计行背景色    private int footRowColor = SDAConsts.clWhite;    //内部变量    //左边指针显示的宽度    private int FixedWidth = 15;    //表格头的高度,行高    private int RowHeight = 15;    //屏幕当前显示起始行    private int StartRow = 0;    //屏幕当前显示起始列    private int StartCol = 0;    //屏幕当前结束行    private int EndRow = 0;    //是否为最后一行    private boolean IsEndRow = false;    //是否为最后一列    private boolean IsEndCol = false;    //当前指针位置    private int Cursor = 0;    //滚动条宽度    private int barwidth = 10;    //缺省列宽    private int DefaultColWidth = 50;    //行数,行最大长度    private int maxLineLenght = 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 boolean showFootRow = false;    //点的排序字段    private String sortFieldName = "";    //排序方式    private int sortType = SDADataSet.sortAsc;    //单元格单击事件    private GridCellClickEvent OnGridCellClick = null;    //绘单元格    private DrawGridCellEvent onDrawGridCell = null;    //单元格    private Cell cell = null;    //各列信息    public class Column {        //统计类型        public static final int ftNone = 0;       //不显示        public static final int ftAvg = 1;        //平均        public static final int ftCount = 2;      //行数        public static final int ftStaticText = 3; //固定文字        public static final int ftSum = 4;        //求和        public static final int ftFieldValue = 5; //当前值        //标题文字对齐方式        private int titleAlignType = SDAConsts.alignLeft;        //内容文字对齐方式        private int dataAlignType = SDAConsts.alignLeft;        //统计内容对齐方式        private int footAlignType = SDAConsts.alignLeft;        //统计内容格式        private String footDisplayFormat = "";        //字段标题        private String Title = "";        //字段名        private String FieldName = "";        //列宽度        private int ColWidth = 60;        //格式表达式(主要针对浮点数)        private String DisplayFormat = "";        //统计内容        private String footValue = "";        //统计类型        private int footType = ftNone;        //构造        public Column() {        }        public Column(String fieldName) {            this.FieldName = fieldName;        }        public Column(String fieldName, String title) {            this.FieldName = fieldName;            this.Title = title;        }        public Column(String fieldName, String title, int colWidth) {            this.FieldName = fieldName;            this.Title = title;            this.ColWidth = colWidth;        }        public Column(String fieldName, String title, int colWidth, String displayFormat) {            this.FieldName = fieldName;            this.Title = title;            this.ColWidth = colWidth;            this.DisplayFormat = displayFormat;        }        public int getColWidth() {            return ColWidth;        }        public void setColWidth(int ColWidth) {            this.ColWidth = ColWidth;        }        public String getDisplayFormat() {            return DisplayFormat;        }        public void setDisplayFormat(String DisplayFormat) {            this.DisplayFormat = DisplayFormat;        }        public String getFieldName() {            return FieldName;        }        public void setFieldName(String FieldName) {            this.FieldName = FieldName;        }        public String getTitle() {            return Title;        }        public void setTitle(String Title) {            this.Title = Title;        }        public int getFootType() {            return footType;        }        public void setFootType(int footType) {            this.footType = footType;        }        public String getFootValue() {            return footValue;        }        public void setFootValue(String footValue) {            this.footValue = footValue;        }        public int getDataAlignType() {            return dataAlignType;        }        public void setDataAlignType(int dataAlignType) {            this.dataAlignType = dataAlignType;        }        public int getTitleAlignType() {            return titleAlignType;        }        public void setTitleAlignType(int titleAlignType) {            this.titleAlignType = titleAlignType;        }        public int getFootAlignType() {            return footAlignType;        }        public void setFootAlignType(int footAlignType) {            this.footAlignType = footAlignType;        }        public String getFootDisplayFormat() {            return footDisplayFormat;        }        public void setFootDisplayFormat(String footDisplayFormat) {            this.footDisplayFormat = footDisplayFormat;        }    }    //对列的处理    //增加    private void internalAddColumn(Column newColumn) {        if (!ColumnsList.contains(newColumn)) {            ColumnsList.addElement(newColumn);        }    }    public void addColumn(Column newColumn) {        internalAddColumn(newColumn);    }    private Column internalAddColumn() {        Column cl = new Column();        ColumnsList.addElement(cl);        return cl;    }    public Column addColumn() {        return internalAddColumn();    }    //构造    public Column newColumn() {        return new Column();    }    public Column newColumn(String fieldName) {        return new Column(fieldName);    }    public Column newColumn(String fieldName, String title) {        return new Column(fieldName, title);    }    public Column newColumn(String fieldName, String title, int colWidth) {        return new Column(fieldName, title, colWidth);    }    public Column newColumn(String fieldName, String title, int colWidth, String displayFormat) {        return new Column(fieldName, title, colWidth, displayFormat);    }    //删除    private void internalDeleteColumn(int columnIndex) {        if ((columnIndex > -1) && (columnIndex < ColumnsList.size())) {            ColumnsList.removeElementAt(columnIndex);        }    }    public void deleteColumn(int columnIndex) {        internalDeleteColumn(columnIndex);    }    private void internalDeleteColumn(String columnFieldName) {        Column cl = null;        for (int i = 0; i < ColumnsList.size(); i++) {            cl = (Column) ColumnsList.elementAt(i);            if (cl.FieldName.equals(columnFieldName)) {                ColumnsList.removeElementAt(i);                break;            }        }    }    public void deleteColumn(String columnFieldName) {        internalDeleteColumn(columnFieldName);    }    //获取    public int getColumnsCount() {        return ColumnsList.size();    }    private Column internalGetColumn(int columnIndex) {        Column result = null;        if ((columnIndex > -1) && (columnIndex < ColumnsList.size())) {            result = (Column) ColumnsList.elementAt(columnIndex);        }        return result;    }    public Column getColumn(int columnIndex) {        return internalGetColumn(columnIndex);    }    private Column internalGetColumn(String columnFieldName) {        Column cl = null;        for (int i = 0; i < ColumnsList.size(); i++) {            cl = (Column) ColumnsList.elementAt(i);            if (cl.FieldName.equals(columnFieldName)) {                break;            }        }        return cl;    }    public Column getColumn(String columnFieldName) {        return internalGetColumn(columnFieldName);    }    //单元格    public class Cell {        private int foreColor = 0;        private int backColor = 0;        private String fieldValue = "";        private String fieldName = "";        private int rowIndex = 0;        public int getBackColor() {            return backColor;        }        public void setBackColor(int backColor) {            this.backColor = backColor;        }        public int getForeColor() {            return foreColor;        }        public void setForeColor(int foreColor) {            this.foreColor = foreColor;        }        public String getFieldName() {            return fieldName;        }        public String getFieldValue() {            return fieldValue;        }        public void setFieldValue(String fieldValue) {            this.fieldValue = fieldValue;

⌨️ 快捷键说明

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