显示重叠问题
来源:互联网 发布:陕西像素数据 编辑:程序博客网 时间:2024/05/20 03:45
package canvas;
import javax.microedition.midlet.MIDlet;
import javax.microedition.lcdui.*;
public class ManageDemo extends MIDlet {
private Display display;
private MyCanvas canvas;
public ManageDemo() {
// TODO Auto-generated constructor stub
display = Display.getDisplay(this);
canvas = new MyCanvas(this);
}
protected void destroyApp(boolean arg0) {
// TODO Auto-generated method stub
}
protected void pauseApp() {
// TODO Auto-generated method stub
}
protected void startApp() {
// TODO Auto-generated method stub
display.setCurrent(canvas);
}
public void exitApp(){
destroyApp(false);
notifyDestroyed();
}
class MyCanvas extends Canvas implements CommandListener{
private ManageDemo manage;
private Command exit = new Command("Exit",Command.EXIT,1);
private Command send = new Command("发送",Command.SCREEN,1);
private Command cmdok = new Command("完成",Command.OK,1);
private Command cmdback = new Command("返回",Command.BACK,1);
private int currentField = -1;
private TextBox[] m_textBoxs = new TextBox[2];
private TextBox mobileBox;
private TextBox contentBox;
private String[] m_strValues = new String[2];
public MyCanvas(ManageDemo manage){
this.manage = manage;
this.addCommand(exit);
this.addCommand(send);
this.setCommandListener(this);
this.contentBox = new TextBox("短信内容",null,213,TextField.ANY);
this.contentBox.addCommand(cmdok);
this.contentBox.addCommand(cmdback);
this.contentBox.setCommandListener(this);
this.mobileBox = new TextBox("手机号码",null,11,TextField.PHONENUMBER);
this.mobileBox.addCommand(cmdok);
this.mobileBox.addCommand(cmdback);
this.mobileBox.setCommandListener(this);
m_textBoxs[0] = mobileBox;
m_textBoxs[1] = contentBox;
}
public void paint(Graphics g){
Font font = Font.getFont(0, 0, 0);
g.setClip(0, 0, getWidth(), getHeight());
g.setColor(250, 210, 130);
g.drawRect(0, 0, getWidth(), getHeight());
g.setColor(0x000000);
g.drawString("手机号码", 5, 5, Graphics.LEFT|Graphics.TOP);
if(currentField == 0){
g.setColor(0x336699);
}
else
g.setColor(0xCCCCCC);
g.drawRect(5, 19, getWidth()-10, 25);
char[] ch_str;
int p_str_w = 0;
int p_str_index = 0;
if (m_strValues[0] != null) {
g.setColor(0);
ch_str = m_strValues[0].toCharArray();
for (; p_str_index < ch_str.length; p_str_index++) {
p_str_w += font.charWidth(ch_str[p_str_index]);
}
g.drawChars(ch_str, 0, p_str_index, 7, 22, Graphics.LEFT
| Graphics.TOP);
}
g.setColor(0x000000);
g.drawString("短信内容", 5, 43, Graphics.LEFT|Graphics.TOP);
if(currentField == 1){
g.setColor(0x336699);
}
else
g.setColor(0xCCCCCC);
g.drawRect(5, 59, getWidth()-10, getHeight()-59-3);
if(m_strValues[1]!=null){
g.setColor(0);
ch_str = m_strValues[1].toCharArray();
g.drawChars(ch_str, 0, ch_str.length, 7, 62, Graphics.LEFT|Graphics.TOP);
}
}
public void keyPressed(int keyCode){
int code = getGameAction( keyCode);
switch(code){
case Canvas.UP:
currentField--;
if (currentField < 0)
currentField = 0;
repaint();
break;
case Canvas.DOWN:
currentField++;
if (currentField > 1)
currentField = 1;
repaint();
break;
default:
if (code == Canvas.FIRE) {
manage.display.setCurrent(m_textBoxs[currentField]);
}
break;
}
}
public void commandAction(Command c,Displayable d){
if(c == exit){
manage.exitApp();
}
if(c == cmdok){
this.m_strValues[currentField] = m_textBoxs[currentField].getString();
manage.display.setCurrent(this);
}
}
}
}
1、问题是在输入到TextBox内容后,返回canvas界面时显示和TextBox重叠了,如何解决呢?
2、如何判断短信内容满一行并换行呢?
3、当短信内容超过页面时如何加滚动条呢?
import javax.microedition.midlet.MIDlet;
import javax.microedition.lcdui.*;
public class ManageDemo extends MIDlet {
private Display display;
private MyCanvas canvas;
public ManageDemo() {
// TODO Auto-generated constructor stub
display = Display.getDisplay(this);
canvas = new MyCanvas(this);
}
protected void destroyApp(boolean arg0) {
// TODO Auto-generated method stub
}
protected void pauseApp() {
// TODO Auto-generated method stub
}
protected void startApp() {
// TODO Auto-generated method stub
display.setCurrent(canvas);
}
public void exitApp(){
destroyApp(false);
notifyDestroyed();
}
class MyCanvas extends Canvas implements CommandListener{
private ManageDemo manage;
private Command exit = new Command("Exit",Command.EXIT,1);
private Command send = new Command("发送",Command.SCREEN,1);
private Command cmdok = new Command("完成",Command.OK,1);
private Command cmdback = new Command("返回",Command.BACK,1);
private int currentField = -1;
private TextBox[] m_textBoxs = new TextBox[2];
private TextBox mobileBox;
private TextBox contentBox;
private String[] m_strValues = new String[2];
public MyCanvas(ManageDemo manage){
this.manage = manage;
this.addCommand(exit);
this.addCommand(send);
this.setCommandListener(this);
this.contentBox = new TextBox("短信内容",null,213,TextField.ANY);
this.contentBox.addCommand(cmdok);
this.contentBox.addCommand(cmdback);
this.contentBox.setCommandListener(this);
this.mobileBox = new TextBox("手机号码",null,11,TextField.PHONENUMBER);
this.mobileBox.addCommand(cmdok);
this.mobileBox.addCommand(cmdback);
this.mobileBox.setCommandListener(this);
m_textBoxs[0] = mobileBox;
m_textBoxs[1] = contentBox;
}
public void paint(Graphics g){
Font font = Font.getFont(0, 0, 0);
g.setClip(0, 0, getWidth(), getHeight());
g.setColor(250, 210, 130);
g.drawRect(0, 0, getWidth(), getHeight());
g.setColor(0x000000);
g.drawString("手机号码", 5, 5, Graphics.LEFT|Graphics.TOP);
if(currentField == 0){
g.setColor(0x336699);
}
else
g.setColor(0xCCCCCC);
g.drawRect(5, 19, getWidth()-10, 25);
char[] ch_str;
int p_str_w = 0;
int p_str_index = 0;
if (m_strValues[0] != null) {
g.setColor(0);
ch_str = m_strValues[0].toCharArray();
for (; p_str_index < ch_str.length; p_str_index++) {
p_str_w += font.charWidth(ch_str[p_str_index]);
}
g.drawChars(ch_str, 0, p_str_index, 7, 22, Graphics.LEFT
| Graphics.TOP);
}
g.setColor(0x000000);
g.drawString("短信内容", 5, 43, Graphics.LEFT|Graphics.TOP);
if(currentField == 1){
g.setColor(0x336699);
}
else
g.setColor(0xCCCCCC);
g.drawRect(5, 59, getWidth()-10, getHeight()-59-3);
if(m_strValues[1]!=null){
g.setColor(0);
ch_str = m_strValues[1].toCharArray();
g.drawChars(ch_str, 0, ch_str.length, 7, 62, Graphics.LEFT|Graphics.TOP);
}
}
public void keyPressed(int keyCode){
int code = getGameAction( keyCode);
switch(code){
case Canvas.UP:
currentField--;
if (currentField < 0)
currentField = 0;
repaint();
break;
case Canvas.DOWN:
currentField++;
if (currentField > 1)
currentField = 1;
repaint();
break;
default:
if (code == Canvas.FIRE) {
manage.display.setCurrent(m_textBoxs[currentField]);
}
break;
}
}
public void commandAction(Command c,Displayable d){
if(c == exit){
manage.exitApp();
}
if(c == cmdok){
this.m_strValues[currentField] = m_textBoxs[currentField].getString();
manage.display.setCurrent(this);
}
}
}
}
1、问题是在输入到TextBox内容后,返回canvas界面时显示和TextBox重叠了,如何解决呢?
2、如何判断短信内容满一行并换行呢?
3、当短信内容超过页面时如何加滚动条呢?
0 0
- 显示重叠问题
- Fragment UI显示重叠问题
- 控件窗口重叠时的显示问题
- iOS 关于tabelViewcell 显示重叠的问题
- 重叠问题
- Gallery 图像重叠问题 以及 每屏只显示一张
- MFC中static空间动态显示重叠问题
- 多个柱状图重叠显示问题 jQuery.flot
- 重叠显示原因
- 关于歌词显示重叠
- 两个surfaceview重叠显示
- Extjs4中tab打开,关闭再打开不显示或显示重叠问题的解决方法
- IE7重叠问题
- 重叠方框问题
- ImageView图片重叠问题
- margin重叠问题
- android 背景重叠问题
- 重叠子问题
- 3Sum-Leetcode
- PHP源码之数组的内部实现
- Java深海拾遗系列(2)---接口、抽象类、实体类继承与实现关系
- KMP算法
- 作业2
- 显示重叠问题
- 有没有用bmob的大神啊。
- java环境变量配置——2017.1.2
- show_space
- Web移动端Fixed布局的解决方案
- python学习笔记-迭代器
- 使用机智云的demo在iPhone6splus上测试
- 欢迎使用CSDN-markdown编辑器
- STM32 IAP 在线升级详解