我在SWT中划分画布,并在构造函数中调用pack(), Canvas的大小计算为64x64。如何设置画布的大小,它没有布局
我的课堂内没有任何风格或布局。
- 在这里计算的大小如何?
- 如何更改我的班级的大小?
this.setSize()
不起作用。
public MyClass(Composite parent, int style) {
super(parent, SWT.NONE);
this.setBackground(getDisplay().getSystemColor(SWT.COLOR_YELLOW));
this.computeSize(1000, 1000, true);
this.pack();
Point s = this.getSize();
System.out.println(s.x); //prints 64
}
不幸的是'computeSize'绝不会为我的情况。如果它很重要 - 我将我的Canvas实例插入到由FormLayout控制的Shell中 – Skip
有两种computeSize方法,一种是布尔型的,另一种没有,但是在玩测试应用程序时,我总是得到Composite的版本,这是布尔值。我看到computeSize被调用:shell.open(),shell.layout()和shell.pack()。你不应该像上面你的MyCanvas构造函数那样需要任何size方法(computeSize,pack等)。相反,尝试在shell上调用它(布局或包)。 – BenG
非常感谢,现在我终于找到了,复合材料的大小在哪里计算! – Skip