正在开发一个只有很少向导页面的eclipse插件。我需要向导窗口大小不变,使用"禁用 MAXIMIZE和MINIMIZE ","窗口 RESIZE禁用"
重点是我没有使用 SHELL 。我正在使用 COMPOSITE ,它没有任何样式位。
我该怎么做?我只是提供了我整个代码的一部分:
public void createControl(Composite parent)
{
// TODO Auto-generated method stub
composite = new Composite(parent, SWT.NONE );
composite.setLayout(new GridLayout());
Composite selectAdapterComposite = new Composite(composite, SWT.NONE);
FormLayout reportOptionsCompositeLayout = new FormLayout();
reportOptionsCompositeLayout.marginHeight = 1;
reportOptionsCompositeLayout.marginWidth = 1;
selectAdapterComposite.setLayout(reportOptionsCompositeLayout);
buttonInterfaceSelection = new Button(selectAdapterComposite,SWT.RADIO);
//SWT.CHECK);
buttonInterfaceSelection.setText("Generate adapter using interface !");
buttonInterfaceSelection.setSelection(true);
buttonInterfaceSelection.addListener(SWT.Selection, this);
FormData exportInToExcelButtonData = new FormData();
exportInToExcelButtonData.left = new FormAttachment(null, 5);
buttonInterfaceSelection.setLayoutData(exportInToExcelButtonData);
// One Text Box
Label searchBoxLabel = new Label(selectAdapterComposite, SWT.None);
searchBoxLabel.setText("Search to select [Type to get the results below]");
FormData destinationLabelData = new FormData();
destinationLabelData.top = new FormAttachment(buttonInterfaceSelection, 10);
destinationLabelData.left = new FormAttachment(null, 5);
searchBoxLabel.setLayoutData(destinationLabelData);
searchTextBox = new Text(selectAdapterComposite, SWT.BORDER);
searchTextBox.setSize(20, 2);
FormData searchTextBoxData = new FormData();
searchTextBoxData.top = new FormAttachment(searchBoxLabel, 8);
searchTextBoxData.left = new FormAttachment(null, 5);
// destinationFolderPathData.left = new
// FormAttachment(destinationLabel,15);
searchTextBoxData.width = 400;
searchTextBox.addListener(SWT.Modify, this);
searchTextBox.setEnabled(true);
searchTextBox.setLayoutData(searchTextBoxData);
.
.
.
.
.
setControl(composite);
}
请帮帮我。
答案 0 :(得分:1)
您的代码段与您的问题无关。关键词是向导。创建该向导时,它需要Shell
,因此您可以在其中设置其样式位。
WizardDialog的构造函数:
public WizardDialog(Shell parentShell, IWizard newWizard)
shell样式位的示例:
parentShell.setShellStyle(parentShell.getShellStyle() | (~SWT.RESIZE));
答案 1 :(得分:1)
感谢您的回复......我是一名新手,您的回答给了我一个我以前知道的重要信息。现在,我花了一些时间来浏览小部件文档并找到了一些东西。
复合:此类的实例是能够包含其他控件的控件。
Shell :此类的实例表示桌面或“窗口管理器”正在管理的“窗口”。
我意识到我对SHELL和COMPOSITE的理解是错误的。
结论:所以我必须依赖SHELL来提供窗口大小调整控件,并且使用COMPOSITE不会给我任何调整大小选项......
如果我错了请纠正我..希望这对其他新手也有用... 感谢。
P.S。:现在我的情况很糟糕,我的代码段与我的问题cos无关,我正在研究别人的代码,并尝试对其进行一些更改。我没有在SHELL中进行更改(在其他类中创建),而是在COMPOSITE中进行更改。