我在gridlayout中面临一个小问题。 我有一个标签和一行文字 和下一行中的另一个标签。 第二行中的标签具有更长的长度 比第一行第一个标签中的标签。 现在我想定位文本字段 在靠近label1的第一行。自labe2 它取代列的字符数高于label1 label2的长度。由于文本字段没有 接近标签1。是否可以制作文本字段 靠近标签?
请找到以下代码..
package zx.example.hello;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
public class GridLayoutExample {
public static void main(String[] args) {
Display display = new Display();
Shell shell = new Shell(display);
GridLayout gridLayout = new GridLayout();
gridLayout.numColumns = 2;
shell.setLayout(gridLayout);
GridData data1 = new GridData();
Label label1 = new Label(shell, SWT.PUSH);
label1.setText("Label1");
label1.setLayoutData(data1);
Text text1 = new Text(shell, SWT.BORDER);
text1.setText("");
Label label2 = new Label(shell, SWT.PUSH);
label2.setText("Label 222222222222222222222222222222");
/*Text text2 = new Text(shell, SWT.BORDER);
text2.setText("B4");*/
shell.pack();
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
}
}
答案 0 :(得分:1)
是的,你可以,添加这一行:
label2.setLayoutData(new GridData(SWT.BEGINNING, SWT.TOP, true, true, 2, 1));
它会在Label
的两列中进行第二次GridLayout
延伸。