2016-11-17 60 views
1

我想要ComponentGroup自動拉伸填充空間(例如表單的寬度)。我嘗試了各種方法,例如將其封裝在BoxLayout.y中,但尚未找到有效的方法。任何人都知道如何做到這一點?如何使ComponentGroup伸展以填充可用空間?

我想這是什麼:

Form hiCG = new Form("ComponentGroup"); 

hiCG.add(BoxLayout.encloseY(ComponentGroup.encloseHorizontal(new Label("Text1"), new Label("Text22222")))); 

//A hack to show what I'm after 
Label label1 = new Label("Text3"); 
Label label2 = new Label("Text4444444"); 
label2.setPreferredW(hiCG.getWidth()/2); //using deprecated setPreferredW 
ComponentGroup.setSameWidth(label1, label2); 
hiCG.add(ComponentGroup.encloseHorizontal(label1, label2)); 
hiCG.show(); 

enter image description here

回答

0

水平分量組可以滾動,以防止在過大,因此它不會成長屏幕失敗的UI以適應尺寸。

我們可以添加一個適應它的網格佈局,但現在這有點「硬編碼」。解決方法可能是這樣做:

Container c = GridLayout.encloseIn(2, label1, label2); 
label1.setUIID("ToggleButtonFirst"); 
label2.setUIID("ToggleButtonLast");