RowLayout不能自动换行问题

在使用RowLayout时遇到无法自动换行的问题,原因是组件comp的大小不会随窗口调整。解决方法是在comp上设置GridData,使comp填充并适应窗口大小,实现预期的自动换行效果。
摘要由CSDN通过智能技术生成
代码如下:
public class Test {
	public static void main(String[] args) {
		Display display = new Display();
		Shell shell = new Shell(display);
		shell.setLayout(new GridLayout());
		Composite comp = new Composite(shell, SWT.NONE);
//		comp.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

		comp.setBackground(new Color(display, 255, 0, 0));
		RowLayout rowLayout = new RowLayout(SWT.HORIZONTAL);
		comp.setLayout(rowLayout);

		for (int i = 0; i < 100; i++) {
			new Button(comp, SWT.NONE).setText(""+i);
		}
		shell.pack();
		shell.setSize(565, 300);
		shell.open();

		while (!shell.isDisposed()) {

			if (!display.readAndDispatch()) {

				display.sleep();
			}
		}
	}
}



使用RowLayout希望能够根据窗口大小自动换行,但是发现结果不行,只有一行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值