怎么在Canvas中输入文本

发布网友 发布时间:2022-04-21 19:27

我来回答

1个回答

热心网友 时间:2022-04-20 00:27

在canvas类里调用textbox
/**
* TextBox's instance
*/
private TextBox inputName = null;

/**
* 「cancel」Command
* command in TextBox
*/
private Command cCancel = new Command("cancel", Command.CANCEL, 1);

/**
* 「ok」Command
* command in TextBox
*/
private Command cOK = new Command("ok", Command.OK, 1);

/**
* 保存在TextBox中已输入的值
*/
private String name = "";

/**
* 调用TextBox
* The method disposes the key pressing action
* the code of pressed key
* @param key
*/
public void keyPressed(int key) {
if (key == Canvas.FIRE) {
inputName = new TextBox("请输入姓名", name, 8, TextField.ANY);
inputName.addCommand(cCancel);
inputName.addCommand(cOK);
inputName.setCommandListener(this);
Display.getDisplay(BustRoyal.instance).setCurrent(inputName);
//其中BustRoyal.instance为MIDlet的实例
}
}

/**
* TextBox中的command的处理
*/
public void commandAction(Command c, Displayable d) {
if (c == cCancel) {
Display.getDisplay(BustRoyal.instance).setCurrent(this);
} else if (c == cOK) {
name = inputName.getString().trim();
Display.getDisplay(BustRoyal.instance).setCurrent(this);
}
}
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com