gpt4 book ai didi

java - SWT RowLayout 的最后一个元素占用了多余的水平空间?

转载 作者:行者123 更新时间:2023-11-30 06:37:17 25 4
gpt4 key购买 nike

我在水平 RowLayout 中有两个元素。我可以为第二个元素指定(最小)(例如 200 px)。此外...

a) 如果 shell 的总宽度太小,第二个元素将换行。这与 RowLayout 配合得很好。

b) 如果总和“大”,第二个(=最后一个)元素应该占据多余的水平空间

b) 可以通过 RowLayout 实现吗?或者我是否需要使用 GridLayout 并自行实现换行(例如,根据元素的大小在网格布局中使用一列或两列)?

public class RowLayoutDemo {

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

Text firstElement = new Text(shell, SWT.NONE);
firstElement.setText("firstElement");

Text secondElement = new Text(shell, SWT.NONE);
secondElement.setText("secondElement");
secondElement.setBackground(new Color(null, 200, 0, 0));

int minWidth = 200;
RowData rowData = new RowData();
rowData.width = minWidth;
secondElement.setLayoutData(rowData);

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

enter image description here

最佳答案

RowLayout 不支持您正在寻找的内容。我建议按照您的建议使用带有调整大小监听器的 GridLayout 或实现您自己的布局。

关于java - SWT RowLayout 的最后一个元素占用了多余的水平空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44999852/

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