gpt4 book ai didi

java - 更改 RowLayout SWT Java 中元素的顺序

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:14:44 25 4
gpt4 key购买 nike

有没有办法改变在行布局中创建的元素的顺序,我想在第一个显示的元素中显示它。例如,如果我创建 element1,然后创建 element2 element3、element4

我希望将布局视为元素4 元素3 元素2 元素1

这意味着最后创建的元素将是第一个显示在 shell 中的元素。

有没有简单的方法来处理行布局并做到这一点。

我想把下面的例子改成显示Button99 Button98 Button97 Button96 Button95 Button94……………………………….

import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.RowLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;

public class TestExample
{
public static void main(String[] args)
{
Display display = Display.getDefault();
Shell shell = new Shell(display);
RowLayout rowLayout = new RowLayout();

shell.setLayout(rowLayout);

for (int i=0;i<100;i++)
{
Button b1 = new Button(shell, SWT.PUSH);
b1.setText("Button"+i);

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

提前致谢。

最佳答案

FillLayoutRowLayoutGridLayout 使用控件的 z 顺序 in order to determine the ordering of the controls . (由于这三种布局不允许控件在视觉上相互重叠,否则将忽略 z 顺序。)

默认的 z 顺序是基于创建的 - 因此控制默认为您将它们添加到其父级的顺序。

您可以使用 Control.moveAbove()Control.moveBelow() 方法更改 z 顺序(从而更改小部件的绘制顺序) .

关于java - 更改 RowLayout SWT Java 中元素的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9250946/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com