我有一个JFace对话框,它分别包含一个Label,Text和Button。 我已经设置了对话框的初始大小,在我的机器中,我按照我想要的方式设置了对话框。
但在另一台机器上我只能看到按钮。
这就是我重写createDialogArea方法的方法。
@Override
protected Control createDialogArea(Composite parent)
{
Composite container = (Composite) super.createDialogArea(parent);
GridLayout gridLayout = (GridLayout) container.getLayout();
gridLayout.numColumns = 3;
new Label(container, SWT.NONE);
new Label(container, SWT.NONE);
new Label(container, SWT.NONE);
Label fileLabel = new Label(container, SWT.NONE);
fileLabel.setText("File Name :");
fileText = new Text(container, SWT.BORDER);
GridData fileTextGD = new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1);
fileTextGD.widthHint = 319;
fileText.setLayoutData(fileTextGD);
fileText.setEnabled(false);
browseButton = new Button(container, SWT.NONE);
GridData browseButtonGD = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1);
browseButtonGD.widthHint = 28;
browseButton.setLayoutData(browseButtonGD);
browseButton.setText("...");
return container;
}
会出现什么问题?
请建议
答案 0 :(得分:2)
您使用的widthHint
值可能对于第二台计算机上使用的字体而言太小。不要使用widthHint
,让GridLayout
为您制作尺寸。