📄 confirmcontrol.java
字号:
package com.tianxia.qipai.view.util;
import javax.microedition.lcdui.Font;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.game.Sprite;
public class ConfirmControl extends Sprite {
private boolean visibleflag; //是否可见标志
private int width; //控件的宽度
private int height; //控件的高度
private int maxnum; //每行显示的最多的字数
private int type; //控件的显示类型
private final int buttonwidth = 30; //按钮宽度
private final int buttonheight= 15; //按钮的高度
private boolean controlvalue; //控件返回时的值
//type: 0:是、否框 1:同意、拒绝框 2:确认、取消框 3:确定框
public ConfirmControl(int width,int height,int maxnum,int type) {
super(Image.createImage(width,height));
this.width = width;
this.height= height;
this.type = type;
this.maxnum = maxnum;
// TODO 自动生成构造函数存根
}
public void init(String content,Font font){
Image controlimage = Image.createImage(width,height);
Graphics gra = controlimage.getGraphics();
gra.setColor(100,100,100);
gra.fillRect(0,0,width,height);
gra.setColor(0,0,0);
String tempcontent = content;
//Font font;
int i=0;
//画对话框内容
while(content.length()>maxnum){
tempcontent = content.substring(0,maxnum);
gra.drawString(tempcontent,2,i*font.getHeight(),Graphics.TOP|Graphics.LEFT);
i++;
content = content.substring(maxnum);
}
if(content.length()>0){
gra.drawString(content,2,i*font.getHeight(),Graphics.TOP|Graphics.LEFT);
}
//画确认按扭
int buttonx = (width - 2*buttonwidth-buttonwidth/2)/2;
int buttony = (height - buttonheight - 5);
switch(type){
case 0:
// buttonstr1 = " 是 ";
// buttonstr2 = " 否 ";
break;
case 1:
gra.setColor(100,100,0);
gra.fillRect(buttonx,buttony,buttonwidth,buttonheight);
gra.fillRect(buttonx+buttonwidth+buttonwidth/2,buttony,buttonwidth,buttonheight);
gra.setColor(0,0,0);
gra.drawString("同意",buttonx+3,buttony+(buttonheight-font.getHeight())/2,Graphics.TOP|Graphics.LEFT);
gra.drawString("拒绝",buttonx+3+buttonwidth+buttonwidth/2,buttony+(buttonheight-font.getHeight())/2,Graphics.TOP|Graphics.LEFT);
break;
case 2:
// buttonstr1 = "确认";
// buttonstr2 = "取消";
break;
case 3:
gra.setColor(100,100,0);
gra.fillRect((width-buttonwidth)/2,buttony,buttonwidth,buttonheight);
gra.setColor(0,0,0);
gra.drawString("确定",(width-buttonwidth)/2+3,buttony+(buttonheight-font.getHeight())/2,Graphics.TOP|Graphics.LEFT);
break;
default:
break;
}
this.setImage(controlimage,width,height);
this.setVisible(false);
controlimage = null;
System.gc();
}
//显示控件
public void setDisplay(boolean controlvalue){
this.controlvalue = controlvalue;
this.setVisible(true);
visibleflag = true;
}
public void setHide(){
this.setVisible(false);
visibleflag = false;
}
public void exit(){
visibleflag = false;
}
//direction true: 向左 false:向右
public void setDirection(boolean direction){
controlvalue = direction;
}
//返回控件的值
public boolean getValue(){
return controlvalue;
}
//返回控件焦点的x坐标
public int getFocusX(){
int x=0;
if(type == 3){
x = this.getX()+(width-buttonwidth)/2;
}else if(controlvalue){
x = this.getX() + (width - 2*buttonwidth-buttonwidth/2)/2;
}else{
x = this.getX() + (width + buttonwidth/2)/2;
}
return x;
}
// 返回控件焦点的y坐标
public int getFocusY(){
int y = this.getY() + (height - buttonheight - 5);
return y;
}
public boolean getVisibleFlag(){
return visibleflag;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -