2012-04-19 61 views
0

我LWUIT应用有3种形式:如何在LWUIT中实现拖动?

1)FORMA 2)FormB 3)FormC

当前形式在屏幕上显示的是FormB。

案例1:

如果用户刷他的手指离开他的触摸屏手机上,我想LWUIT以捕获 事件并FormC

案例2:

如果用户刷他的手指在他的触摸屏手机上,我想LWUIT捕获该事件和显示FormA

我该如何做?我认为它必须对拖动事件做些事情,但不知道如何实现它。

谢谢。

回答

1
just need to override pointerDragged method in form and get/cal its X,Y positions and display another form. 


new Form() 
{ 

protected void pointerDragged(int x, int y) { 
if(x,y....) 
{ 
form3.show(); 

}else 
{ 
from1.show(); 
} 
super.pointerDragged(x,y); 

} 

}; 

here x,y can be calculated based on screen resolutions and components u have added to it. 
+0

我实现了pointerPressed()和pointerReleased()方法,计算出坐标之间的差异,然后决定显示一个特定的表单... – Nikhil 2012-04-19 18:55:49

+0

嘿,你能告诉我如何框架if条件吗?它不适合我。 这里只有一个x,y ..我如何确定拖动已经开始的点和拖动结束的点? 我想计算这两点之间的差异,然后做出决定,以显示左边的表格或右边的表格 – Nikhil 2012-04-22 10:32:36

0

而不是采取3种形式使用3个容器在1形式和setScrollableX(真)下,并将所有组件添加到适当的容器中。

+1

那不是我想要的.. – Nikhil 2012-04-19 06:39:40

+0

好吧,那么你有没有尝试与PointerPressed/Pointerdragged方法。?覆盖这些方法,并获得X,Y pos(任何)发射事件后,只需调用其他form.show() – 2012-04-19 06:43:56

+0

好的...我需要添加任何特定的eventlistener在我的表单上?我需要的只是一个拖动指针的事件以及它拖动的方向。然后我可以使用FORMNAME.show()。你能告诉我该怎么做吗? – Nikhil 2012-04-19 06:53:24

1

使用带有3个容器的Tabs组件,它支持Swipe。您可以将选项卡自己设置为隐藏。