我想在表单中添加一些组件,例如:button,label等。 我想为他们设置宽度和高度,但我找不到这样的属性。 有没有办法做到这一点?
编辑:
这是我在Main.java文件中的代码
currentForm = new Form();
currentForm.setLayout(new LayeredLayout());
currentForm.applyRTL(true);
Container mapContainer = new Container(new LayeredLayout());
Container controlsContainer = new Container(new BorderLayout());
controlsContainer.setRTL(true);
currentForm.addComponent(mapContainer);
currentForm.addComponent(controlsContainer);
Container panelTop = new Container(new BoxLayout(BoxLayout.X_AXIS));
Container panelDown = new Container(new FlowLayout(Component.RIGHT));
panelTop.setSize(new Dimension(40, 20));
controlsContainer.addComponent(BorderLayout.NORTH, panelTop);
controlsContainer.addComponent(BorderLayout.SOUTH, panelDown);
Button btnRoute = new Button(res.getImage("icon_routing.png"));
btnRoute.setSize(new Dimension(5, 5));
TextField txtSearch = new TextField();
txtSearch.setRTL(true);
txtSearch.setUIID("searchbox");
txtSearch.setEnabled(true);
// search textfield mode
txtSearch.putClientProperty("searchField", Boolean.TRUE);
txtSearch.setSize(new Dimension(8,10));
Button btnGPSFound = new Button(res.getImage("near_by_menu.png"));
btnGPSFound.setSize(new Dimension(5,5));
panelTop.addComponent(btnRoute);
panelTop.addComponent(txtSearch);
panelTop.addComponent(btnGPSFound);
currentForm.show();
btnRoute.setSize(new Dimension(30, 30));
btnRoute.refreshTheme();
panelTop.refreshTheme(); `
答案 0 :(得分:3)
这取决于您选择的布局管理器,布局管理器根据许多约束(包括首选布局)确定运行时组件的大小。一些布局管理器会忽略一些首选布局值(这取决于几个方面)。
要查看布局管理器选项,请参阅:http://www.codenameone.com/how-do-i---positioning-components-using-layout-managers.html
要确定某些布局管理员将考虑的所需大小,请使用setPreferredSize()
。
答案 1 :(得分:1)
您可以通过调用组件上的setSize(width, height)
来设置宽度和高度。