无法在JFace对话框中正确查看小部件

时间:2013-12-03 17:23:51

标签: java eclipse eclipse-plugin swt jface

我有一个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;
}

会出现什么问题?

请建议

1 个答案:

答案 0 :(得分:2)

您使用的widthHint值可能对于第二台计算机上使用的字体而言太小。不要使用widthHint,让GridLayout为您制作尺寸。