java - 使用 StackLayout 我只想在选择标志时显示一个表
问题描述
我有两张桌子,在标志上我需要一次显示一张桌子。My createControl() method is called at the time of loading and flag value is true so one table is loaded first time, when choose of false flag my second table its giving null pointer. 因为没有正确调用第二个时间表。我在 google 中看到 stacklayout 将适用于这种类型的加载,它将在加载时加载两个表。但我无法使用 stacklayout 调用它们。
public void createControl(final Composite parent) {
final Font font = parent.getFont();
final Composite composite = new Composite(parent, SWT.NONE);
composite.setLayout(new GridLayout());
composite.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
composite.setFont(font);
composite.setLayout(new GridLayout());
composite.setLayoutData(new GridData(SWT.FILL, SWT.DEFAULT, true, false));
final Composite controlsComposite = WidgetFactory.getClassicToolkit().createComposite(composite);
final GridLayout gridLayout = new GridLayout(NUM_COLUMN, false);
controlsComposite.setLayout(gridLayout);
final GridData gridData = new GridData(SWT.FILL, SWT.DEFAULT, true, true);
gridData.horizontalAlignment = GridData.FILL;
gridData.grabExcessHorizontalSpace = true;
controlsComposite.setLayoutData(gridData);
if (getWizard() instanceof TestWizard) {
final IWizardPage[] wizardPages = getWizard().getPages();
for (final IWizardPage page : wizardPages) {
if (page instanceof PSRDesignerImportWizardPage) {
TestWizard importwizardPage = (TestWizard) page;
if (importwizardPage.isInitiative()) {
setTitle("Table1");
setMessage("Hello");
gridLayout.numColumns = 1;
controlsComposite.setLayout(gridLayout);
createTable1Control(controlsComposite);
gnerImport = true;
} else {
setTitle("Table2");
setMessage("Bye");
controlsComposite.setLayout(gridLayout);
createTable2Control(controlsComposite);
rDomainImport = true;
}
}
}
} else {
creatFileSelectionGroup(controlsComposite);
}
createImportOptions(controlsComposite);
setControl(composite);
}
代码2:
@Override
public IWizardPage getNextPage() {
List<tualInitiative> ualInitiativeList = getConceptualInitiativeList(psrUserInfo);
if (ualInitiativeList.isEmpty()) {
return null;
}
IWizardPage nextPage = super.getNextPage();
if (nextPage instanceof FormatImportWizardPage) {
FormatImportWizardPage xfPage = (FormatImportWizardPage) nextPage;
if (initiative) {
xfPage.settable1Data(ualInitiativeList);
} else {
xfPage.settable2Data(ualInitiativeList);
}
}
return nextPage;
}
解决方案
推荐阅读
- html - 如何根据内容设置 div 标签的样式?
- javascript - How to bypass React's error handling of colors
- laravel - 作业总是在 laravel 作业中失败 Redis 速率限制
- django - Django: "auto_now_add=True" giving incorrect time
- react-native - react navigation back button back to spalsh screen
- swift - I can't get an arc to fill in Swift 4
- c++ - 为什么我无法构建静态链接的单线程 Boost 库?
- python-3.x - Python3 pip install git-pre-push-hook
- css - Make button all the same sizes
- excel - Excel Multiple Criteria