gpt4 book ai didi

java - 在复合 Material 中调整复合 Material 的大小

转载 作者:行者123 更新时间:2023-11-29 05:57:34 26 4
gpt4 key购买 nike

我正在尝试构建一个 eclipse 插件 View ,其中我有一个 View ,其顶部有一个输入栏,底部有一个 TableViewer。目前我正在尝试在一个更大的复合 Material 中构建 2 个独立的复合 Material ,但我很难控制每个单独复合 Material 的大小。这是一些代码:

public void createPartControl(Composite parent) {

FillLayout parentLayout = new FillLayout(SWT.VERTICAL);
parent.setLayout(parentLayout);

Composite composite = new Composite(parent, SWT.BORDER);
composite.setLayout(new FillLayout());
viewer = new TableViewer(composite, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);

Composite composite2 = new Composite(parent, SWT.BORDER);


GridLayout gridLayout = new GridLayout();
composite2.setLayout(gridLayout);

GridData expGridData = new GridData();
expGridData.horizontalAlignment = GridData.FILL;
expGridData.grabExcessHorizontalSpace = true;
expGridData.grabExcessVerticalSpace = true;
Label expLabel = new Label(composite2, SWT.NONE);
expLabel.setText("Express");
Text exp = new Text(composite2, SWT.BORDER);
exp.setLayoutData(expGridData);
}

我正在尝试缩小复合 2,同时增加复合 1 的大小,两者都位于父复合中。我已尝试查看 FillLayout 的方法以及复合 Material 本身,但我没有找到任何有效的方法。

感谢您的帮助

最佳答案

试试这个:)

public void createPartControl(Composite parent) {
GridData parentData = new GridData(SWT.FILL, SWT.FILL, true, true);
parent.setLayout(new GridLayout(1, true));
parent.setLayoutData(parentData);

Composite searchMenu = new Composite(parent, SWT.BORDER);
searchMenu.setLayout(new GridLayout(2, false));
searchMenu.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false));

Text searchText = new Text(searchMenu, SWT.NONE);
searchText.setLayoutData(new GridData(SWT.FILL, GridData.CENTER, true, false));
searchText.setText("search text here");

Button searchButton = new Button(searchMenu, SWT.PUSH);
searchButton.setText("Search");

Composite tableViewerComposite = new Composite(parent, SWT.BORDER);
tableViewerComposite.setLayout(new GridLayout(1, true));
tableViewerComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

TableViewer tableViewer = new TableViewer(tableViewerComposite);
TableViewerColumn column = new TableViewerColumn(tableViewer, SWT.NONE);
column.getColumn().setWidth(200);
column.setLabelProvider(new ColumnLabelProvider(){

@Override
public String getText(Object element) {
return element != null ? element.toString() : "null";
}});

tableViewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
tableViewer.setContentProvider(ArrayContentProvider.getInstance());
tableViewer.setInput(new String[]{"one", "two", "three"});

}

关于java - 在复合 Material 中调整复合 Material 的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11478523/

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