在做一个wizard的时候,有多个wizard页面;有不同的页面分支是一种很常见的情况。
如果没有特别的注意,按一般的方式构建wizard的时候,所以有page页都会被wizard一次性加载,进而创建出对应的页面控件。
一般这是没有问题的。不过如果有前后页面之前数据的联系;如果页面数过多,引用不必要的页面加载;那么就可以想办法改进这些问题。
wizard中所有页面的创建是在以下方法中完成的:
public void createPageControls(Composite pageContainer) {
// the default behavior is to create all the pages controls
for (int i = 0; i < pages.size(); i++) {
IWizardPage page = (IWizardPage) pages.get(i);
page.createControl(pageContainer);
// page is responsible for ensuring the created control is
// accessable
// via getControl.
Assert.isNotNull(page.getControl());
}
}
而这个方法在wizardDialog打开的时候就会被调用:
protected Control createContents(Composite parent) {
// Allow the wizard to add pages to itself
// Need to call this now so page count is correct
// for determining if next/previous buttons are needed
wizard.addPages();
Control contents = super.createContents(parent);
// Allow the wizard pages to precreate their page controls
createPageControls();
// Show the first page
showStartingPage();
return contents;
}
因此,如果要避免一次性加载全部页面的问题,我们可以重写createPageControls()方法。如下:
@Override
public void createPageControls(Composite pageContainer) {
}
一旦这样做了,那么页面的创建过程会在对页面发出请求的时候构建。例如调用到了方法getNextPage();我们可以看以下顺序图:
- 大小: 22.8 KB
分享到:
相关推荐
- **自定义样式**:通过设置`CPropertySheet`的风格,如`PSH_WIZARD`或`PSH_NOAPPLYNOW`,可以创建不同外观的属性页。 9. **与其他MFC组件的集成** 属性页可以与MFC的文档/视图结构、数据库支持、打印预览等组件...
11.6.1 创建异步页面 11.6.2 在异步页面中查询数据 11.6.3 错误处理 11.6.4 在异步任务中使用缓存 11.6.5 多异步任务和超时 11.7 总结 第12章 文件和流 12.1 使用文件系统 12.1.1 Directory类和...
4. **母版页(Master Pages)**:母版页是Asp.NET 2.0的一项重要创新,它允许创建统一的页面布局,所有子页面都可以继承其样式和元素,从而提高了页面设计的一致性。 5. **角色管理**:Asp.NET 2.0引入了强大的角色...
11.6.1 创建异步页面 390 11.6.2 在异步页面中查询数据 392 11.6.3 错误处理 393 11.6.4 在异步任务中使用缓存 395 11.6.5 多异步任务和超时 397 11.7 总结 399 第12章 文件和流 400 12.1 使用文件...
6. **Image Lazy Loading** - 插件如LazyLoad,延迟加载非可视区域的图片,提高页面加载速度。 **地图插件:** 1. **Google Maps Integration** - 如gmap3,简化了与Google Maps API的交互,便于在网页上嵌入地图并...
- **SPDiagQ**:快速查看 SharePoint 应用程序池的队列长度,识别可能导致延迟的潜在问题。 2. **资源利用率分析** - **SharePoint Health Analyzer**:内置工具,评估 SharePoint 环境的健康状况,并提供改善...
3. **AJAX与Fetch API**:这些技术允许前端开发者实现异步数据通信,更新部分页面而无需刷新整个页面。了解如何使用XMLHttpRequest或更现代的Fetch API对于创建交互性丰富的应用至关重要。 4. **前端框架与库**:如...
选择FPGA Features and Design->Clocking->Clocking Wizard,第一个页面用来设置时钟的特性和输入时钟,保持默认的输入频率为100MHz。第二个页面用来设置输出时钟的属性。将CLK_OUT1的频率设为50M,CLK_OUT2频率设为...
使用Clocking Wizard,用户可以轻松创建和配置PLL或DCM。在ISE中,通过“ProjectàNew Source…”添加一个新的IP核,选择Clocking Wizard并进行相应的参数设置。在配置页面,可以定义输入时钟频率,设置输出时钟的...
6. 创建一个波形仿真文件,并设置输入信号 a、b、c、d 的波形以及选择端 s1s2 信号的波形。 7. 进行仿真,并获得实验结果。 五、实验结果及分析 实验结果表明,实验结果与实验原理相符,但波形稍有延迟。这是因为...
- **监控与分析**:实时监控测试过程,收集性能数据,如页面响应时间、服务器负载、数据库性能等,通过图表和报告进行分析。 - **问题诊断**:如果在测试中发现性能问题,LoadRunner 的监控数据可以帮助定位问题...
然后,添加一个ADO.NET实体数据模型,通过Entity Data Model Wizard连接到SQL Server 2005数据库。在这个过程中,我们可以选择“Linq to SQL Classes”作为数据访问技术,这样会在设计时自动生成Linq的数据访问层。 ...
它涉及到多个关键指标的监测,如CPU占用率、内存使用情况、网络延迟、数据库响应时间等。通过这些指标,可以全面评估系统的性能表现。 ### 设计性能测试用例的原则 1. **覆盖场景的全面性**:设计用例时应考虑各种...
16. Java中,类MyListener实现了MouseListener接口,即使没有显式实现所有方法,Java允许接口实现延迟到类实例化时检查,所以代码可以通过编译。 17. 在Word中,可以通过【插入】菜单项中的【图片】选项插入来自...
1. **显示地图**:在HTML页面中插入一个div元素,然后通过JavaScript创建`Map`对象,例如: ```javascript var map = new google.maps.Map(document.getElementById('map'), { center: {lat: -34.397, lng: 150....
111 <br>0184 如何在ASP.NET中获取文件的扩展名 111 <br>0185 如何在ASP.NET中用URL在页面之间传值 112 <br>0186 如何使用IsPostBack实现ASP.NET页面加载 112 <br>0187 如何利用输出缓存技术缓存...
解决了IPC Compliant Footprint Wizard中的回归问题,当未选择Full Matrix时,无法更改(或插入)LGA,BGA包布局选项的任何参数。 26459 修复了“属性”面板中的“网络类别”排序,以匹配软件其他区域中使用的网络...