Java me LWUIT 1.4:为什么不是';使用Display.callSerialy()时是否设置了时间线动画?
我想显示一个包含图像的Java me LWUIT 1.4:为什么不是';使用Display.callSerialy()时是否设置了时间线动画?,java-me,lwuit,lwuit-resource-editor,Java Me,Lwuit,Lwuit Resource Editor,我想显示一个包含图像的标签,该标签中的图像是一个时间线: 事实上,我是从网络上得到这张图片的:它是一张动画gif,所以当我把它添加到资源编辑器中时,它会自动转换成时间线。然后我将标签添加到我的表单中: public class Login extends Ecran implements ActionListener { ... public Login(SmartPhoneBanking c, Form prevForm) { ... patientez = new Label(
标签
,该标签中的图像是一个时间线
:
事实上,我是从网络上得到这张图片的:它是一张动画gif,所以当我把它添加到资源编辑器中时,它会自动转换成时间线
。然后我将标签添加到我的表单中
:
public class Login extends Ecran implements ActionListener {
...
public Login(SmartPhoneBanking c, Form prevForm) {
...
patientez = new Label((MenuPrincipalForm.r).getImage("roller_fond_blanc")); // r is the LWUIT Resources , you can see the roller_fond_blanc Timeline in the attached image
patientez.setAlignment(Label.CENTER);
...
cPatienter.addComponent(patientez);
...
}
...
public void actionPerformed(ActionEvent evt)
{
...
if (evt.getSource() == validerBtn)
{
getTitleComponent().setVisible(false);
cntnr.removeComponent(cBtn);
cntnr.removeComponent(libAndFieldContainer);
removeCommand(listeMenu);
cntnr.addComponent(cPatienter); // showing the "Please wait" labels and the Timeline
repaint();
Display.getInstance().callSerially(new Runnable()
{
public void run() {
download();
}
});
}
}
我包括了repaint()
方法,因为如果没有它,“请稍候”标签就不会显示
那么为什么时间线没有动画化呢?我和你做了同样的过程。但是我使用资源编辑器将图像直接包含在表单中
,它可以正常工作
试着这样做
下载LWUIT的最新版本。(1.5)
将图像创建为时间线
在资源编辑器的GUI Builder选项卡中,将图像放入表单中
我执行了与您相同的过程。但是我使用资源编辑器将图像直接包含在表单中
,它可以正常工作
试着这样做
下载LWUIT的最新版本。(1.5)
将图像创建为时间线
在资源编辑器的GUI Builder选项卡中,将图像以形式放置我将callSerially
替换为invokeAndBlock
,时间线将设置动画。我将callSerially
替换为invokeAndBlock
并将时间线设置动画。您需要阅读有关EDT的内容。当您在连续调用中执行操作时,您正在阻止LWUIT用于绘制和处理事件的事件调度线程,这对于小事情来说是一件好事,因为LWUIT没有竞争条件
但是,如果您执行任何冗长的过程,那么这种阻塞将是一个问题。Invoke and block与串行调用完全相反,它以“安全的方式”阻塞EDT,并在可能很长的单独线程上执行操作。对于下载(长io)invokeAndBlock或实际上只是跨越一个单独的线程是正确的做法。LWit4IO可以无缝地为您做到这一点 您需要阅读有关EDT的内容。当您在连续调用中执行操作时,您正在阻止LWUIT用于绘制和处理事件的事件调度线程,这对于小事情来说是一件好事,因为LWUIT没有竞争条件
但是,如果您执行任何冗长的过程,那么这种阻塞将是一个问题。Invoke and block与串行调用完全相反,它以“安全的方式”阻塞EDT,并在可能很长的单独线程上执行操作。对于下载(长io)invokeAndBlock或实际上只是跨越一个单独的线程是正确的做法。LWit4IO可以无缝地为您做到这一点 在将图像直接包含在表单中后,是否可以粘贴生成的代码?我认为您没有使用最新的资源编辑器…查看LWUIT博客。在将图像直接包含在表单中后,是否可以粘贴生成的代码?我认为您没有使用最新的资源编辑器…查看LWUIT博客。