大家好,很高兴再次与你们见面,我是你们的朋友全栈君。
在SWT中,verticalSpan用于指定控件占据的行数。例如:
GridData gridData = new GridData(); gridData.verticalSpan = 100; final Text nameText = new Text(shell, SWT.BORDER); nameText.setLayoutData(gridData);
可以看出,verticalSpan决定了控件占据的行数。
以下是完整的示例代码:
public class LBMShow {
public static void main(String args[]) {
final Display display = Display.getDefault();
final Shell shell = new Shell(display);
shell.setText("Hello");
GridLayout gridLayout = new GridLayout(2, true);
GridData gridData = new GridData();
gridData.verticalSpan = 100;
shell.setLayout(gridLayout);
final Label nameLabel = new Label(shell, SWT.BORDER);
nameLabel.setText("name: ");
final Text nameText = new Text(shell, SWT.BORDER);
nameText.setText("1");
nameLabel.setLayoutData(gridData);
nameText.setLayoutData(gridData);
final Label passwdLabel = new Label(shell, SWT.BORDER);
passwdLabel.setText("password: ");
final Text passwdText = new Text(shell, SWT.BORDER);
passwdText.setText("2");
final Button button = new Button(shell, SWT.NONE);
button.setText("登录");
//button.setBounds(32, 28, 58, 22);
shell.open();
//shell.layout();
//消息循环
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
}
}效果图如下:
立即学习“Java免费学习笔记(深入)”;

horizontalSpan表示控件占据的列数,默认情况下每个控件占一列。如果设置为2,则控件会独占一行。
示例代码:
public class LBMShow {
public static void main(String args[]) {
final Display display = Display.getDefault();
final Shell shell = new Shell(display);
shell.setText("Hello");
GridLayout gridLayout = new GridLayout(2, true);
GridData gridData = new GridData();
gridData.horizontalSpan = 2;
shell.setLayout(gridLayout);
final Label nameLabel = new Label(shell, SWT.BORDER);
nameLabel.setText("name: ");
final Text nameText = new Text(shell, SWT.BORDER);
nameText.setText("1");
nameLabel.setLayoutData(gridData);
nameText.setLayoutData(gridData);
final Label passwdLabel = new Label(shell, SWT.BORDER);
passwdLabel.setText("password: ");
final Text passwdText = new Text(shell, SWT.BORDER);
passwdText.setText("2");
final Button button = new Button(shell, SWT.NONE);
button.setText("登录");
//button.setBounds(32, 28, 58, 22);
shell.open();
//shell.layout();
//消息循环
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
}
}效果图如下:
立即学习“Java免费学习笔记(深入)”;

grabExcessHorizontalSpace是一个布尔值,默认是false。它决定控件是否填充剩余的水平空间。
示例代码:
public class LBMShow {
public static void main(String args[]) {
final Display display = Display.getDefault();
final Shell shell = new Shell(display);
shell.setText("Hello");
GridLayout gridLayout = new GridLayout(2, true);
GridData gridData = new GridData();
gridData.grabExcessHorizontalSpace = true;
shell.setLayout(gridLayout);
final Label nameLabel = new Label(shell, SWT.BORDER);
nameLabel.setText("name: ");
final Text nameText = new Text(shell, SWT.BORDER);
nameText.setText("1");
nameLabel.setLayoutData(gridData);
nameText.setLayoutData(gridData);
final Label passwdLabel = new Label(shell, SWT.BORDER);
passwdLabel.setText("password: ");
final Text passwdText = new Text(shell, SWT.BORDER);
passwdText.setText("2");
final Button button = new Button(shell, SWT.NONE);
button.setText("登录");
//button.setBounds(32, 28, 58, 22);
shell.open();
//shell.layout();
//消息循环
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
}
}效果图如下:
立即学习“Java免费学习笔记(深入)”;

grabExcessVerticalSpace表示控件是否填充垂直的剩余空间。
示例代码:
public class LBMShow {
public static void main(String args[]) {
final Display display = Display.getDefault();
final Shell shell = new Shell(display);
shell.setText("Hello");
GridLayout gridLayout = new GridLayout(2, true);
GridData gridData = new GridData();
gridData.grabExcessVerticalSpace = true;
shell.setLayout(gridLayout);
final Label nameLabel = new Label(shell, SWT.BORDER);
nameLabel.setText("name: ");
final Text nameText = new Text(shell, SWT.BORDER);
nameText.setText("1");
nameLabel.setLayoutData(gridData);
nameText.setLayoutData(gridData);
final Label passwdLabel = new Label(shell, SWT.BORDER);
passwdLabel.setText("password: ");
final Text passwdText = new Text(shell, SWT.BORDER);
passwdText.setText("2");
final Button button = new Button(shell, SWT.NONE);
button.setText("登录");
//button.setBounds(32, 28, 58, 22);
shell.open();
//shell.layout();
//消息循环
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
}
}效果图如下:
立即学习“Java免费学习笔记(深入)”;

widthHint用于设置控件的最小宽度。
示例代码:
public class LBMShow {
public static void main(String args[]) {
final Display display = Display.getDefault();
final Shell shell = new Shell(display);
shell.setText("Hello");
GridLayout gridLayout = new GridLayout(2, true);
GridData gridData = new GridData();
gridData.widthHint = 500;
shell.setLayout(gridLayout);
final Label nameLabel = new Label(shell, SWT.BORDER);
nameLabel.setText("name: ");
final Text nameText = new Text(shell, SWT.BORDER);
nameText.setText("1");
nameLabel.setLayoutData(gridData);
nameText.setLayoutData(gridData);
final Label passwdLabel = new Label(shell, SWT.BORDER);
passwdLabel.setText("password: ");
final Text passwdText = new Text(shell, SWT.BORDER);
passwdText.setText("2");
final Button button = new Button(shell, SWT.NONE);
button.setText("登录");
//button.setBounds(32, 28, 58, 22);
shell.open();
//shell.layout();
//消息循环
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
}
}效果图如下:
立即学习“Java免费学习笔记(深入)”;

heightHint用于设置控件的最小高度。
示例代码:
public class LBMShow {
public static void main(String args[]) {
final Display display = Display.getDefault();
final Shell shell = new Shell(display);
shell.setText("Hello");
GridLayout gridLayout = new GridLayout(2, true);
GridData gridData = new GridData();
gridData.heightHint = 500;
shell.setLayout(gridLayout);
final Label nameLabel = new Label(shell, SWT.BORDER);
nameLabel.setText("name: ");
final Text nameText = new Text(shell, SWT.BORDER);
nameText.setText("1");
nameLabel.setLayoutData(gridData);
nameText.setLayoutData(gridData);
final Label passwdLabel = new Label(shell, SWT.BORDER);
passwdLabel.setText("password: ");
final Text passwdText = new Text(shell, SWT.BORDER);
passwdText.setText("2");
final Button button = new Button(shell, SWT.NONE);
button.setText("登录");
//button.setBounds(32, 28, 58, 22);
shell.open();
//shell.layout();
//消息循环
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
}
}效果图如下:
立即学习“Java免费学习笔记(深入)”;

目前还没有研究出这两个参数的具体用法。
发布者:全栈程序员栈长,转载请注明出处:https://www.php.cn/link/016dda407fff9ed48128da45058b0366 原文链接:https://www.php.cn/link/c8377ad2a50fb65de28b11cfc628d75c
以上就是java swt griddata_SWT的GridData一些参数的图示的详细内容,更多请关注php中文网其它相关文章!
java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号