2014-06-15 63 views
0

我想向表單中添加一些組件,例如:button,label等。 而我想設置他們的寬度和高度,但我沒有找到這樣的屬性。 有沒有辦法做到這一點?如何更改代碼中的組件大小(寬度和高度)

編輯:

這裏是我在Main.java代碼由組件上調用setSize(width, height)文件

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();  ` 

回答

3

這取決於您選擇的佈局管理器,佈局管理器根據許多約束(包括首選佈局)確定運行時組件的大小。一些佈局管理器忽略了一些首選佈局值(這取決於幾件事情)。

要查看的佈局管理器選項,請參閱:http://www.codenameone.com/how-do-i---positioning-components-using-layout-managers.html

要確定將由一些佈局管理器使用setPreferredSize()考慮到所希望的大小。

+0

我有一個方案,這不起作用,但根據API,它應該:我有一個邊界佈局,其中包含一個容器與SOUTH約束條目數量可變。只要容器不滾動,設置容器的首選高度就能很好地工作。 'recentSearchContainer = new Container(new BoxLayout(BoxLayout.Y_AXIS)); \t \t recentSearchContainer.setPreferredH((int)的(this.getContentPane()的getHeight()* 0.1F)。);' 一旦設定容器滾動,優選的高度將被忽略。有沒有辦法解決這個問題? – Lequi

+0

可滾動容器有自己的尺寸邏輯,我建議用適當的描述和最終目標的截圖來提出問題 –

1

您可以設置寬度和高度。

+0

有沒有另一種方法給組件的寬度和高度codenameone設計器? –

+0

我用setSize改變了組件的大小,但它仍然沒有改變你可以給我一個簡單的例子 –

+0

你可以在這裏粘貼你的代碼,所以我可以看看嗎? – Paul

相關問題