2011-01-11 54 views
4

我遇到了一些使用SmartGWT的遺留代碼。我懷疑API也存在於標準的GWT中。什麼是CSS/SmartGWT中的setWidth(「*」)?

widget.setWidth("*"); 

牢記的代碼相同的位有:

otherWidget.setWidth100(); 

我不知道CSS有像什麼:

width: *; 

所以...這是代碼合法的,如果是的話,它是做甚麼?

在此先感謝。

+1

我不知道...`auto`,也許? – BoltClock 2011-01-11 20:27:17

回答

6

在SmartGWT .setWidth("*")表示佔用可用寬度的其餘。舉例來說,如果你有一個HPanel帶着兩個孩子和一個孩子有setWidth("10%")然後隱式setWidth("*"孩子)將有90%的寬度。這允許您更改一個孩子的寬度,而無需更新其他setWidth調用。

+1

這是完全由展示llustrated:http://www.smartclient.com/smartgwt/showcase/#layout_layout可以調整窗口大小時,看到兩個固定百分比列,其餘 – 2013-01-21 14:36:53

2

想想看,你有一個Panel有兩個孩子。現在,如果你爲兩個孩子設置setWidth("*"),那麼第一個孩子將獲得所需的寬度,第二個孩子將得到剩下的任何東西。

如果您爲第一個孩子設置setWidth("60%"),爲第二個孩子設置setWidth("*"),那麼第一個孩子將佔60%的面板寬度,第二個孩子將獲得剩餘的40%。

.setWidth100();.setHeight100();這些2使組件填充畫布它是在這個平均寬度設置高度& 100%,這相當於分別setWidth("100%")setHeight("100%")

這基本上是用來當你不明確要設置的子面板的的寬度。您可以指定第一個子面板的粗略寬度,並自動設置第二個子面的寬度。