`
liugang594
  • 浏览: 987608 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Wizard页面的延迟创建

阅读更多

在做一个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
分享到:
评论

相关推荐

    MFC中的属性页制作方法

    - **自定义样式**:通过设置`CPropertySheet`的风格,如`PSH_WIZARD`或`PSH_NOAPPLYNOW`,可以创建不同外观的属性页。 9. **与其他MFC组件的集成** 属性页可以与MFC的文档/视图结构、数据库支持、打印预览等组件...

    ASP.NET4高级程序设计第4版 带目录PDF 分卷压缩包 part1

    11.6.1 创建异步页面 11.6.2 在异步页面中查询数据 11.6.3 错误处理 11.6.4 在异步任务中使用缓存 11.6.5 多异步任务和超时 11.7 总结 第12章 文件和流 12.1 使用文件系统 12.1.1 Directory类和...

    Asp.net 2.0模块二

    4. **母版页(Master Pages)**:母版页是Asp.NET 2.0的一项重要创新,它允许创建统一的页面布局,所有子页面都可以继承其样式和元素,从而提高了页面设计的一致性。 5. **角色管理**:Asp.NET 2.0引入了强大的角色...

    ASP.NET4高级程序设计(第4版) 3/3

    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 使用文件...

    超好用的Jquery插件集合

    6. **Image Lazy Loading** - 插件如LazyLoad,延迟加载非可视区域的图片,提高页面加载速度。 **地图插件:** 1. **Google Maps Integration** - 如gmap3,简化了与Google Maps API的交互,便于在网页上嵌入地图并...

    Sharepoint分析工具

    - **SPDiagQ**:快速查看 SharePoint 应用程序池的队列长度,识别可能导致延迟的潜在问题。 2. **资源利用率分析** - **SharePoint Health Analyzer**:内置工具,评估 SharePoint 环境的健康状况,并提供改善...

    FrontEndWizard是一份精心整理前端学习资源教程实用代码模块和精选文章集合的资料

    3. **AJAX与Fetch API**:这些技术允许前端开发者实现异步数据通信,更新部分页面而无需刷新整个页面。了解如何使用XMLHttpRequest或更现代的Fetch API对于创建交互性丰富的应用至关重要。 4. **前端框架与库**:如...

    XDU软工院选FPGA第二次实验.docx

    选择FPGA Features and Design-&gt;Clocking-&gt;Clocking Wizard,第一个页面用来设置时钟的特性和输入时钟,保持默认的输入频率为100MHz。第二个页面用来设置输出时钟的属性。将CLK_OUT1的频率设为50M,CLK_OUT2频率设为...

    Nexys3学习手记6:ClockingWizard探秘

    使用Clocking Wizard,用户可以轻松创建和配置PLL或DCM。在ISE中,通过“ProjectàNew Source…”添加一个新的IP核,选择Clocking Wizard并进行相应的参数设置。在配置页面,可以定义输入时钟频率,设置输出时钟的...

    eda实验4选1多路选择器

    6. 创建一个波形仿真文件,并设置输入信号 a、b、c、d 的波形以及选择端 s1s2 信号的波形。 7. 进行仿真,并获得实验结果。 五、实验结果及分析 实验结果表明,实验结果与实验原理相符,但波形稍有延迟。这是因为...

    LoadRunner安装手册

    - **监控与分析**:实时监控测试过程,收集性能数据,如页面响应时间、服务器负载、数据库性能等,通过图表和报告进行分析。 - **问题诊断**:如果在测试中发现性能问题,LoadRunner 的监控数据可以帮助定位问题...

    Linq小实践 学生管理用户,利用Linq实现数据操作

    然后,添加一个ADO.NET实体数据模型,通过Entity Data Model Wizard连接到SQL Server 2005数据库。在这个过程中,我们可以选择“Linq to SQL Classes”作为数据访问技术,这样会在设计时自动生成Linq的数据访问层。 ...

    性能测试用例

    它涉及到多个关键指标的监测,如CPU占用率、内存使用情况、网络延迟、数据库响应时间等。通过这些指标,可以全面评估系统的性能表现。 ### 设计性能测试用例的原则 1. **覆盖场景的全面性**:设计用例时应考虑各种...

    2021-2022计算机二级等级考试试题及答案No.14900.docx

    16. Java中,类MyListener实现了MouseListener接口,即使没有显式实现所有方法,Java允许接口实现延迟到类实例化时检查,所以代码可以通过编译。 17. 在Word中,可以通过【插入】菜单项中的【图片】选项插入来自...

    Google-Maps-API:Google Maps API 的乐趣

    1. **显示地图**:在HTML页面中插入一个div元素,然后通过JavaScript创建`Map`对象,例如: ```javascript var map = new google.maps.Map(document.getElementById('map'), { center: {lat: -34.397, lng: 150....

    C#编程经验技巧宝典

    111 &lt;br&gt;0184 如何在ASP.NET中获取文件的扩展名 111 &lt;br&gt;0185 如何在ASP.NET中用URL在页面之间传值 112 &lt;br&gt;0186 如何使用IsPostBack实现ASP.NET页面加载 112 &lt;br&gt;0187 如何利用输出缓存技术缓存...

    Altium Designer Beta 19.0.10完整版安装包+安装教程+和谐文件

    解决了IPC Compliant Footprint Wizard中的回归问题,当未选择Full Matrix时,无法更改(或插入)LGA,BGA包布局选项的任何参数。 26459 修复了“属性”面板中的“网络类别”排序,以匹配软件其他区域中使用的网络...

Global site tag (gtag.js) - Google Analytics