2012-03-16 120 views
4

我想知道如何创建一个标签,其中包含两个图标,每边一个,并将其设置为表单元素(LWUIT小部件)的标题栏。LWUIT,如何为表单标题创建自定义标签

enter image description here

+0

你可以plz解释你的问题在更多的细节 – 2012-03-16 12:55:23

+0

@穆罕默德,我已编辑的问题。 – 2012-03-19 04:23:25

回答

3

表单有一个获得titleArea的函数,然后你可以放一些组件你要。

Form f = new Form(); 
Container c = f.getTitleArea(); 
Label iconLabel1 = new Label("leftIcon");//using Image 
Label iconLabel2 = new Label("rightIcon");//using Image 
c.addComponent(BorderLayout.WEST, iconLabel1); 
c.addComponent(BorderLayout.EAST, iconLabel2); 
+0

谢谢你雅汉,你的解决方案和Shai Almog的工作。 – 2012-03-26 04:45:55

0

使用setTitleComponent(Label title)方法。


编辑:

推导Label类并实现paint方法,你可以使用Graphics方法来绘制Image S和文本。还要将标签的文本位置设置为Label.CENTER

+0

我知道如何使用'setTitleComponent(Label title)'为表单的标题设置标签。我的问题是,我不知道如何自定义标签,以便它包含两个图标,一边是一边,中间是文字。 – 2012-03-19 04:28:11

3

您可以在屏幕的北部添加一个组件,这是推荐的方式,可以正常工作,并且不会因新版本的LWUIT/Codename One而中断。

如果您没有设置标题,它将会正常工作,您可以给它标题UIID。 LWUIT 1.5和更新版本有一个TitleArea容器,但是我建议你远离它,因为CodenameOne为iOS/Android 4.x等等定制了相当的配置。

+0

如果我在屏幕的北部添加一个组件,当滚动时,组件将移出屏幕,我不希望发生这种情况。 – 2012-03-22 09:54:11

+1

form.setScrollable(false); containerInCenterPosition.setScrollableY(真); – 2012-03-22 13:14:09

+0

谢谢,它的作品... – 2012-03-26 04:38:33