Java 如何使RowLayout包装其内容?

Java 如何使RowLayout包装其内容?,java,layout,swt,Java,Layout,Swt,我正在使用RowLayout制作图像的缩略图。所有缩略图仅显示在一行中。如何使它们在调整大小时高效地显示在多行中?您可以在的文档中轻松找到它 您要查找的是行布局#wrap: 换行指定如果当前行上的空间不足,是否将控件换行到下一行默认值为true 由于默认值为true,它应该已经包装了 public static void main(String[] args) { final Display display = new Display(); final Shell shell =

我正在使用
RowLayout
制作图像的缩略图。所有缩略图仅显示在一行中。如何使它们在调整大小时高效地显示在多行中?

您可以在的文档中轻松找到它

您要查找的是
行布局#wrap

换行指定如果当前行上的空间不足,是否将控件换行到下一行默认值为true

由于默认值为
true
,它应该已经包装了

public static void main(String[] args)
{
    final Display display = new Display();
    final Shell shell = new Shell();
    shell.setText("StackOverflow");

    RowLayout layout = new RowLayout();
    layout.wrap = true;
    shell.setLayout(layout);

    Image image = new Image(display, "star.png");

    for(int i = 0; i < 10; i++)
        new Label(shell, SWT.NONE).setImage(image);

    shell.pack();
    shell.setSize(200, 100);
    shell.open();

    while (!shell.isDisposed())
    {
        if (!display.readAndDispatch())
        {
            display.sleep();
        }
    }
    display.dispose();

    image.dispose();
}
publicstaticvoidmain(字符串[]args)
{
最终显示=新显示();
最终外壳=新外壳();
shell.setText(“StackOverflow”);
RowLayout=新的RowLayout();
layout.wrap=true;
shell.setLayout(布局);
图像=新图像(显示“star.png”);
对于(int i=0;i<10;i++)
新标签(shell,SWT.NONE);
shell.pack();
外壳。设置尺寸(200100);
shell.open();
而(!shell.isDisposed())
{
如果(!display.readAndDispatch())
{
display.sleep();
}
}
display.dispose();
image.dispose();
}
在调整大小之前如下所示:

调整大小后:


你的答案很好。谢谢,亲爱的。但我的问题是另外一件事,它与包装无关。你介意接受这个答案吗?你的答案很有帮助。因为你的回答,我才知道换行布局的特点。