`

编写自己的控件

阅读更多

先写一个MailInfoPanel.html.

 

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<wicket:panel>
    <span wicket:id="receivedMail">收到的邮件数量</span>
    <br/>
    <span wicket:id="deletedMail">删除的邮件数量</span>
    <br/>
    <span wicket:id="innerMail">总的数量</span>
</wicket:panel>
</html>

 

接着编写MailInfoPanel.java

 

package net.kentop.wicket;

import java.text.MessageFormat;

import org.apache.wicket.AttributeModifier;
import org.apache.wicket.behavior.IBehavior;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.Model;

public class MailInfoPanel extends Panel {

    private Label receivedMailLabel;
    private Label deletedMailLabel;
    private Label innerMailLabel;
   
    public MailInfoPanel(String id) {
        super(id);
       
        receivedMailLabel = new Label("receivedMail","");
        deletedMailLabel = new Label("deletedMail","");
        innerMailLabel = new Label("innerMail","");
       
        this.add(receivedMailLabel);
        this.add(deletedMailLabel);
        this.add(innerMailLabel);
    }
   
    protected void onBeforeRender() {
       
        Object[] objs = new Object[]{new Integer(11),new Integer(22),new Integer(33)};
       
        receivedMailLabel.setModelObject(MessageFormat.format("收到的邮件数量为{0}件", objs));
        deletedMailLabel.setModelObject(MessageFormat.format("删除的邮件数量为{1}件", objs));
        innerMailLabel.setModelObject(MessageFormat.format("总的数量是{2}件", objs));
       
        // TODO Auto-generated method stub
        super.onBeforeRender();
    }

   
   
}

 

 

注意红色部分为重写Panel的onBeforeRender方法.在载入MailInfoPanel之前初始化的代码,也就是说,程序会先执行这里的 onBeforeRender()方法,以初始化这里的值.

 

 

这样一个自定义的控件就已经定义好了.

就可以在页面中像使用Label 控件那样使用这个控件了.

 

分享到:
评论

相关推荐

    VisionPro如何编写自定义控件

    为了满足特定需求或扩展功能,有时我们需要编写自定义控件。以下将详细介绍如何在VisionPro中创建自定义控件。 1. **创建项目**:首先,你需要在Visual Studio环境中创建一个新的.NET类库项目。在这个例子中,项目...

    抖动窗体控件 c#控件自定义 自己编写c#控件 源代码

    在C#编程中,自定义控件是一种常见的需求,它允许开发者根据特定需求创建具有独特功能和视觉表现的用户界面元素。"抖动窗体控件"是一个有趣的例子,它通常用于模拟现实世界中物体振动的效果,为用户提供更加生动和...

    纯C#语言编写分页控件-用户控件,文章列表版

    用C#语言编写的分页控件,很实用,支持AJAX,但是不能将控件传参数放到!ispostback里面。 参数传递形式是PagerParts1.getData(datatabel, 一页显示多少条, datalist, datalist.datakeyfield);另有适合嵌套datalist的...

    VC++编写ActiveX控件

    本教程将深入探讨如何使用VC++来编写ActiveX控件,以及相关的开发过程和关键知识点。 首先,我们需要了解ActiveX控件的基本概念。ActiveX控件是基于COM的二进制模块,可以在网页、应用程序或者任何支持ActiveX技术...

    一个delphi7控件编写实例

    本实例聚焦于“控件编写”这一主题,特别是如何控制窗体内的可视控件的显示状态。以下是对这个Delphi7控件编写实例的详细解析。 1. **控件编写**: 在Delphi中,控件是用户界面(UI)的基础元素,如按钮、文本框、...

    自己编写vb进度条控件 自己编写vb进度条控件

    vb 自己编写vb进度条控件

    c# 编写activex控件 并与网页交互

    在本教程中,我们将探讨如何使用C#语言编写ActiveX控件,并实现与网页的交互,包括如何传递数据给网页以及如何调用网页中的方法。 一、ActiveX控件基础 ActiveX是微软推出的一种组件对象模型(COM),它允许开发者...

    [001]VC++编写ActiveX控件详解.zip上位机开发VC串口学习资料源码下载

    [001]VC++编写ActiveX控件详解.zip上位机开发VC串口学习资料源码下载[001]VC++编写ActiveX控件详解.zip上位机开发VC串口学习资料源码下载[001]VC++编写ActiveX控件详解.zip上位机开发VC串口学习资料源码下载[001]...

    C#编写activex控件

    总的来说,虽然C#编写ActiveX控件的过程相对复杂,但它提供了一种将.NET框架的强大功能引入到遗留的ActiveX环境中的方式。在处理特定的历史遗留问题或特定平台的需求时,这种技术仍然有其价值。然而,随着技术的更新...

    Qt编写的自定义控件属性设计器

    ### Qt编写的自定义控件属性设计器 #### 概述 在进行图形用户界面(GUI)开发时,自定义控件及其属性管理是一项常见的需求。特别是在工业自动化与控制领域,为了适应特定的应用场景,如仪表盘设计、状态监控界面等...

    C#编写COM控件 Powerbuilder调用

    COM控件本质上是实现了COM接口的DLL或EXE文件,它们可以通过接口暴露自己的功能,供其他应用程序通过接口调用。 创建C# COM控件的步骤如下: 1. **创建C#类库项目**:在Visual Studio中,选择“新建项目”-&gt; ...

    VC编写ActiveX OCX控件--Timer

    总结一下,使用Visual C++编写ActiveX OCX控件涉及创建工程、定义控件类、实现计时器功能、配置属性页以及处理导出和工程配置。通过以上步骤,你将能够创建一个具有定时功能的自定义控件,可广泛应用于各种Windows...

    C#编写Active控件,cab打包

    在C#中编写ActiveX控件,主要是为了创建可以在网页中使用的交互式组件。这个过程涉及到几个关键步骤,包括开发环境的配置、ActiveX控件的创建、MSI安装包和CAB打包,以及如何在网站中调用和实现自动更新。 首先,...

    C# 编写 Activex 控件

    通过以上步骤,你就可以使用C#编写出自己的ActiveX控件。这个过程中可能会遇到各种挑战,但随着对.NET框架和COM原理的理解加深,这些问题都将迎刃而解。希望这个指南对你在开发ActiveX控件时有所帮助。

    用.NET编写自己的ActiveX 控件

    ### 使用.NET编写自己的ActiveX控件 #### 一、引言 随着.NET框架的广泛应用,开发者不仅能够构建功能丰富的桌面应用程序,还能通过.NET创建可跨平台使用的ActiveX控件。ActiveX控件是一种用于增强网页功能的小型...

    C#编写的IP控件

    在IT行业中,编程语言C#是一种广泛用于开发Windows桌面应用、Web应用以及游戏开发的强大工具。...对于想要学习或改进自己在.NET平台下创建自定义控件能力的开发者来说,这是一个非常有价值的参考实例。

    C#编写active控件

    在本主题中,我们将深入探讨如何使用C#语言来编写ActiveX控件,这是一种强大的技术,允许开发者创建自定义的交互式用户界面元素。 1. **ActiveX控件简介**: - ActiveX是微软推出的一种技术,主要用于Windows环境...

    手动编写DBGrid控件的好例子

    在这个“手动编写DBGrid控件的好例子”中,我们将深入探讨如何使用自定义控件(custom control)和类来创建一个类似于DBGrid的功能。 首先,理解DBGrid的基本概念至关重要。DBGrid是用于绑定到数据源的控件,它可以...

Global site tag (gtag.js) - Google Analytics