我想创建一个用户可以放大和缩小的视图,所以我计划通过使用来实现该视图ScrolledComposite
:
ScrolledComposite sc = new ScrolledComposite(shell, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
sc.setBounds(0, 0, 200, 200);
问题是:当内容的大小小于滚动合成的大小时,它总是出现在滚动合成的左上角,即使我尝试setBounds()
了控件或setOrigin()
滚动合成的方法。在下面的示例中,(100, 50) 的显示区域内容button
小于sc
(200, 200) 的客户区域,即使我尝试设置一些显示位置,按钮也始终显示在左上角滚动合成。
Button button = new Button(sc, SWT.PUSH);
button.setText("Button");
button.setBounds(50, 50, 100, 50);
sc.setContent(button);
sc.setOrigin(30, 30);
我得到的结果是
我该如何解决这个问题?