您需要到ISizeProvider適配器,如下面的代碼響應您的ViewPart時:
public Object getAdapter(Class adapter) {
if (ISizeProvider.class == adapter) {
return new ISizeProvider() {
public int getSizeFlags(boolean width) {
return SWT.MIN | SWT.MAX | SWT.FILL;
}
public int computePreferredSize(boolean width, int availableParallel, int availablePerpendicular, int preferredResult) {
return width ? 600 : preferredResult;
}
};
}
return super.getAdapter(adapter);
}
這將使以期在寬度是固定的,讓高度靈活。對於固定高度,用所需的值替換preferredResult。
還要注意,移動的那部分已經包含其它視圖部分可以消除固定大小的效果,所以是有意義的使視圖部分不可移動,以及[IViewLayout.setMoveable(布爾值)]另一視圖堆夾
乾杯, 最大
來源
2011-07-13 08:48:29
Max
僅適用於Eclipse 3.x.在Eclipse 4中,getAdapter()永遠不會以ISizeProvider.class作爲參數調用。 – Robert