Java me 在J2ME中,是否有任何方法或属性类似于gotFocus&;的功能;失去对控制的关注
在我的J2ME应用程序中,我想在将焦点放在名为Java me 在J2ME中,是否有任何方法或属性类似于gotFocus&;的功能;失去对控制的关注,java-me,lcdui,Java Me,Lcdui,在我的J2ME应用程序中,我想在将焦点放在名为Tones的choicegroup控件上时添加一个播放命令,在失去对choicegroup控件的焦点后,应该删除该命令 我该怎么做 更新: 这是我的密码: import javax.microedition.midlet.*; import javax.microedition.lcdui.*; public class Focusoncontrol extends MIDlet implements CommandListener {
Tones的choicegroup控件上时添加一个播放命令,在失去对choicegroup控件的焦点后,应该删除该命令
我该怎么做
更新:
这是我的密码:
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class Focusoncontrol extends MIDlet implements CommandListener
{
Display disp;
TextField Text1, Text2, Text3;
ChoiceGroup Tones;
Form frm;
Command Save, Back, Play;
public Focusoncontrol()
{
disp = Display.getDisplay(this);
frm = new Form("Focus demo");
Text1 = new TextField("Text1", "", 20, 0);
Text2 = new TextField("Text2", "", 20, 0);
Text3 = new TextField("Text3", "", 20, 0);
Tones = new ChoiceGroup("Tones", Choice.POPUP, new String[]{"Tone 1", "Tone 2"}, null);
Save = new Command("Save", Command.SCREEN, 1);
Back = new Command("Back", Command.EXIT, 3);
Play = new Command("Play", Command.OK, 2);
frm.append(Text1);
frm.append(Text2);
frm.append(Tones);
frm.append(Text3);
frm.addCommand(Save);
frm.addCommand(Back);
frm.setCommandListener(this);
disp.setCurrent(frm);
}
public void startApp()
{
}
public void pauseApp()
{
}
public void destroyApp(boolean unconditional)
{
}
public void commandAction(Command c, Displayable d)
{
if(c == Back)
{
destroyApp(true);
notifyDestroyed();
}
}
}
在应用程序初始化期间,我没有添加播放命令,因为当铃声(ChoiceGroup控件)获得焦点时,我必须在窗体上添加播放命令,而当ChoiceGroup控件失去焦点时,我必须删除该命令 ChoiceGroup
是一个项
对象,要使用您描述的命令,您需要:
用于接收已在对象上调用的命令通知的侦听器类型。项目可以有与其关联的命令。当调用这样的命令时,应用程序将通过在ItemCommandListener
上调用方法得到通知,该方法已通过调用
要为选项组设置“播放”命令,请使用方法Item.addCommand(command)
:
上面的代码可以在调用代码片段中的disp.setCurrent(frm)
之前编写。ChoiceGroup
是一个项
对象,要使用您描述的命令,您需要:
用于接收已在对象上调用的命令通知的侦听器类型。项目可以有与其关联的命令。当调用这样的命令时,应用程序将通过在ItemCommandListener
上调用方法得到通知,该方法已通过调用
要为选项组设置“播放”命令,请使用方法Item.addCommand(command)
:
上面的代码可以在调用代码片段中的disp.setCurrent(frm)
之前编写。您可以发布一些代码,显示您的选择组控件,它所在的容器,以及您如何实现play命令吗?您可以发布一些代码,显示您的选择组控件,它所在的容器,也许你是如何实现播放命令的?@Rahul它应该可以工作-如果操作正确:当音调获得焦点时,命令应该出现,当它失去焦点时,命令应该消失。什么东西对你不起作用?@gnat嘿gnat。。你的伎俩奏效了。。谢谢你这么好的建议,很抱歉我之前的评论。。。我删除了那条评论。。我希望你不会难过…@Rahul很高兴这有帮助。还有一个建议——考虑将初始化代码从<代码> FooCon控件构造函数转换为 StaspApp/<代码>方法。由于@ RAHUL中解释的原因,它应该工作——如果做得正确:当代码>音调< /代码>得到焦点时,命令将出现,当失去焦点时,该命令就会消失。什么东西对你不起作用?@gnat嘿gnat。。你的伎俩奏效了。。谢谢你这么好的建议,很抱歉我之前的评论。。。我删除了那条评论。。我希望你不会难过…@Rahul很高兴这有帮助。还有一个建议——考虑将原因初始化代码从<代码> FooCon控件构造函数转换为<代码> StestApp方法-原因如下
Tones.addCommand(Play); // add command to item
Tones.setItemCommandListener(/*... define item cmd listener*/); // set listener