热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

JAVA基础控件_JAVA技巧:wicket一些基础控件代码

仅限记录!wicket对所有控件设定都存放与Server,不知好是不好,感觉有些不靠谱!packagecom.wicket.

仅限记录!wicket对所有控件设定都存放与Server,不知好是不好,感觉有些不靠谱!

package com.wicket.page;

import java.awt.Graphics2D;

import java.awt.image.renderable.RenderableImage;

import java.io.IOException;

import java.io.Serializable;

import java.util.ArrayList;

import java.util.Date;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

import org.apache.wicket.Component;

import org.apache.wicket.Page;

import org.apache.wicket.PageParameters;

import org.apache.wicket.behavior.IBehavior;

import org.apache.wicket.markup.html.WebMarkupContainer;

import org.apache.wicket.markup.html.WebMarkupContainerWithAssociatedMarkup;

import org.apache.wicket.markup.html.WebPage;

import org.apache.wicket.markup.html.basic.Label;

import org.apache.wicket.markup.html.basic.MultiLineLabel;

import org.apache.wicket.markup.html.border.Border;

import org.apache.wicket.markup.html.border.BoxBorder;

import org.apache.wicket.markup.html.border.Border.BorderBodyContainer;

import org.apache.wicket.markup.html.form.Button;

import org.apache.wicket.markup.html.form.Check;

import org.apache.wicket.markup.html.form.CheckBox;

import org.apache.wicket.markup.html.form.CheckBoxMultipleChoice;

import org.apache.wicket.markup.html.form.CheckGroup;

import org.apache.wicket.markup.html.form.CheckGroupSelector;

import org.apache.wicket.markup.html.form.DropDownChoice;

import org.apache.wicket.markup.html.form.Form;

import org.apache.wicket.markup.html.form.IChoiceRenderer;

import org.apache.wicket.markup.html.form.ListChoice;

import org.apache.wicket.markup.html.form.ListMultipleChoice;

import org.apache.wicket.markup.html.form.PasswordTextField;

import org.apache.wicket.markup.html.form.Radio;

import org.apache.wicket.markup.html.form.RadioChoice;

import org.apache.wicket.markup.html.form.RadioGroup;

import org.apache.wicket.markup.html.form.SubmitLink;

import org.apache.wicket.markup.html.form.TextArea;

import org.apache.wicket.markup.html.form.TextField;

import org.apache.wicket.markup.html.form.upload.FileUpload;

import org.apache.wicket.markup.html.form.upload.FileUploadField;

import org.apache.wicket.markup.html.form.validation.IFormValidator;

import org.apache.wicket.markup.html.image.Image;

import org.apache.wicket.markup.html.image.resource.RenderedDynamicImageResource;

import org.apache.wicket.markup.html.include.Include;

import org.apache.wicket.markup.html.link.BookmarkablePageLink;

import org.apache.wicket.markup.html.link.ExternalLink;

import org.apache.wicket.markup.html.link.IPageLink;

import org.apache.wicket.markup.html.link.Link;

import org.apache.wicket.markup.html.link.PageLink;

import org.apache.wicket.markup.html.list.ListItem;

import org.apache.wicket.markup.html.list.ListView;

import org.apache.wicket.markup.html.list.PageableListView;

import org.apache.wicket.markup.html.navigation.paging.PagingNavigator;

import org.apache.wicket.markup.html.panel.ComponentFeedbackPanel;

import org.apache.wicket.markup.html.panel.FeedbackPanel;

import org.apache.wicket.model.CompoundPropertyModel;

import org.apache.wicket.model.IModel;

import org.apache.wicket.model.Model;

import org.apache.wicket.model.PropertyModel;

import org.apache.wicket.util.file.File;

import org.apache.wicket.util.lang.Bytes;

import com.wicket.model.BookModel;

public class HelloWorldPage extends WebPage {

private static final long SVU = 1L;

private int count = 0;

public HelloWorldPage(){

//信息输出

Label label = new Label("message","Hello world!");

this.add(label);

MultiLineLabel linelabel = new MultiLineLabel("multimessage","Hello \nworld");

this.add(linelabel);

//容器

WebMarkupContainerWithAssociatedMarkup panel =

new WebMarkupContainerWithAssociatedMarkup("panel");

Label label1 = new Label("panel_label","这是被panel容纳进来的Label!");

panel.add(label1);

this.add(panel);

WebMarkupContainer webpanel =

new WebMarkupContainer("webpanel");

Label label2 = new Label("webpanel_label","这是被webpanel容纳进来的Label!");

webpanel.add(label2);

this.add(webpanel);

Border border = new BoxBorder("border");

Label label3 = new Label("border_label","这是被border容纳的label");

border.add(label3);

this.add(border);

this.add(new Include("include","inc/include.html"));

//超级链接控件

Link link = new Link("link") {@Override

public void onClick() {

count++;

}};  link.add(new Label("count",new Model(){

public String getObject(){

return count+"";

}

}));

this.add(link);

ExternalLink externallink = new ExternalLink

("externallink","http://www.baidu.com","百度");

this.add(externallink);

PageLink pagelink = new PageLink("pagelink",new IPageLink(){

public Class extends Page> getPageIdentity() {

return TestPageLink.class;

}

public Page getPage(){

return new TestPageLink();

}

});

this.add(pagelink);

PageParameters pps = new PageParameters();

pps.put("id", 1);

BookmarkablePageLink bmplink =

new BookmarkablePageLink("bookmarkablepagelink",TestPageLink.class,pps);

this.add(bmplink);

//表单输入控件

final FeedbackPanel feed = new FeedbackPanel("errmsg");

//form表单的button组件

Form form = new Form("myform"){

protected void onSubmit(){

feed.info(loadonSubmit("你提交了button表单"));

}

};

Button button1 = new Button("button1"){

public void onSubmit(){

feed.info(loadonSubmit("你按下了button1"));

}

};

Button button2 = new Button("button2"){

public void onSubmit(){

feed.info(loadonSubmit("你按下了button2"));

}

};

form.add(button1);

form.add(button2);

this.add(feed);

this.add(form);

//form表单的Link组件

final FeedbackPanel feed1 = new FeedbackPanel("errmsg1");

Form linkform = new Form("myform1"){

protected void onSubmit(){

feed1.info(loadonSubmit("你提交了linkform表单"));

}

};

SubmitLink submitlink = new SubmitLink("submit_form_link"){

public void onSubmit(){

feed1.info(loadonSubmit("你按下了linkform的内部提交"));

}

};

SubmitLink submitlink1 = new SubmitLink("submit_link",linkform){

public void onSubmit(){

feed1.info(loadonSubmit("你按下了linkform的外部提交"));

}

};

linkform.add(submitlink);

this.add(submitlink1);

this.add(feed1);

this.add(linkform);

//文本输入控件

//只允许输入数字,且不能为空,默认值为"请输入测试字符"

TextField text = new TextField("textload",Integer.class);

text.setLabel(new Model("请输入测试字符"));

text.setRequired(true);

final ComponentFeedbackPanel feed2 = new ComponentFeedbackPanel("errmsg2",text);

Form textform = new Form("textform"){

protected void onSubmit(){

feed2.info(loadonSubmit("你提交了textform表单"));

}

};

textform.add(text);

this.add(feed2);

this.add(textform);

//密码输入控件

//只允许输入数字,且不能为空,默认值为"请输入测试字符"

PasswordTextField textpass = new PasswordTextField("text_pass");

final FeedbackPanel feed3 = new FeedbackPanel("errmsg3");

Form passform = new Form("passform"){

protected void onSubmit(){

feed3.info(loadonSubmit("你提交了passform表单"));

}

};

passform.add(textpass);

this.add(feed3);

this.add(passform);

//多行文本输入

TextArea textarea = new TextArea("textarea");

this.add(textarea);

//选择框

CheckBox checkbox = new CheckBox("checkboxbool");

this.add(checkbox);

//多项选择框

Listlist = new ArrayList();

list.add("1");

list.add("2");

list.add("3");

final HashMapmap = new HashMap();

map.put("1","语文");

map.put("2","数学");

map.put("3","英语");

//实现IChoiceRenderer接口以保存checkbox的显示文字与值 IChoiceRenderer renderer = new IChoiceRenderer(){

public Object getDisplayValue(Object object){

return map.get(object);

}

public String getIdValue(Object arg0, int arg1) {

return null;

}

};

CheckBoxMultipleChoice Onlysites=

new CheckBoxMultipleChoice("sites",list,renderer);

List ALLSITES = new ArrayList();

final Map ALLNAMES = new HashMap();

ALLSITES.add("1");

ALLSITES.add("2");

ALLSITES.add("3");

ALLNAMES.put("1", "语文");

ALLNAMES.put("2", "数学");

ALLNAMES.put("3", "英语");

Form allcheckform = new Form("allcheckform");

CheckGroup group = new CheckGroup("allcheckgroup",new ArrayList());

group.add(new CheckGroupSelector("allcheckgroupselector"));

ListView allsites = new ListView("allsites", ALLSITES) {

protected void populateItem(ListItem item) {

Object object=item.getModelObject();

item.add(new Check("allcheck", new

Model(Integer.toString(item.getIndex()))));

item.add(new Label("allcheckname",new Model((Serializable) ALLNAMES.get(object))));

}

};

this.add(onlysites);

group.add(allsites);

allcheckform.add(group);

this.add(allcheckform);

//下拉框

DropDownChoice dropdownchoice =

new DropDownChoice("dropsites",ALLSITES,renderer);

this.add(dropdownchoice);

//单选列表框

ListChoice listchoice =

new ListChoice("multiple",ALLSITES,renderer);

this.add(listchoice);

//单选组合框

ListMultipleChoice alllistchoice =

new ListMultipleChoice("allmultiple",ALLSITES,renderer);

this.add(alllistchoice);

RadioChoice radio =

new RadioChoice("onlyradio",ALLSITES,renderer);

this.add(radio);

//单选增强组合框

Form radioform = new Form("radioform");

add(radioform);

RadioGroup radiogroup=new RadioGroup("radiogroup");

radioform.add(radiogroup);

ListView radiosites = new ListView("radiosites", ALLSITES) {

protected void populateItem(ListItem item) {

Object object=item.getModelObject();

item.add(new Radio("radioradio", new Model(Integer.toString(item.getIndex()))));

item.add(new Label("radioname",new Model((Serializable) ALLNAMES.get(object))));

};

};

radiogroup.add(radiosites);

//静态图像

Image staticimg = new Image("staticimg","img/mks.jpg");

this.add(staticimg);

//动态图像

Image dynameicimg = new Image("dynameicimg",

new RenderedDynamicImageResource(200,100){

protected boolean render(Graphics2D graphics) {

graphics.drawString("看看生成以后的样子", 50, 50);

return true;

}

}

);

this.add(dynameicimg);

//文件上传

final FileUploadField fileup = new FileUploadField("upfileload");

Form upfileform = new Form("upfileform"){

protected void onSubmit(){

final FileUpload upload = fileup.getFileUpload();

if(upload!=null){

try {

upload.writeTo(new File("d:\\load\\1.txt"));

} catch (IOException e) {

e.printStackTrace();

}

}

super.onSubmit();

}

};

upfileform.add(fileup);

upfileform.setMultiPart(true);

upfileform.setMaxSize(Bytes.kilobytes(1000));

this.add(upfileform);

//数据列表

ListView listView = new ListView("listView", ALLSITES) {

protected void populateItem(ListItem item) {

String name = (String) ALLNAMES.get(item.getModelObject());

item.add(new Label("name", name));

item.add(new ExternalLink("url", (String) item.getModelObject()));

}

};

this.add(listView);

}

public final String loadonSubmit(String str){

String backstr = "";

if(this.getRequest().getParameter("uname") == null)

backstr = str + ";" + "请输入字符";

else

backstr = str + ";" + "你输入的字符为:" + this.getRequest().getParameter("uname");

return backstr;

}

}

2829f2ca24f0d0090cbba57f30759f23.png

JAVA技巧:wicket一些基础控件代码.doc

下载Word文档到电脑,方便收藏和打印[全文共6395字]

编辑推荐:

8b95f2eb3d3f7ce4dc3bf1178c74941e.png

8b95f2eb3d3f7ce4dc3bf1178c74941e.png

8b95f2eb3d3f7ce4dc3bf1178c74941e.png

8b95f2eb3d3f7ce4dc3bf1178c74941e.png

8b95f2eb3d3f7ce4dc3bf1178c74941e.png

下载Word文档



推荐阅读
  • php更新数据库字段的函数是,php更新数据库字段的函数是 ... [详细]
  • 如何在Linux服务器上配置MySQL和Tomcat的开机自动启动
    在Linux服务器上部署Web项目时,通常需要确保MySQL和Tomcat服务能够随系统启动而自动运行。本文将详细介绍如何在Linux环境中配置MySQL和Tomcat的开机自启动,以确保服务的稳定性和可靠性。通过合理的配置,可以有效避免因服务未启动而导致的项目故障。 ... [详细]
  • ButterKnife 是一款用于 Android 开发的注解库,主要用于简化视图和事件绑定。本文详细介绍了 ButterKnife 的基础用法,包括如何通过注解实现字段和方法的绑定,以及在实际项目中的应用示例。此外,文章还提到了截至 2016 年 4 月 29 日,ButterKnife 的最新版本为 8.0.1,为开发者提供了最新的功能和性能优化。 ... [详细]
  • 优化升级版数据采集与赋值方法,专为前文内容设计
    在前一篇文章中,方法的局限性主要体现在需要传递参数,并且参数数量受限。当页面布局与所需参数不匹配时,该方法将无法正常工作。为此,我们推出了优化升级版1.1,旨在解决这些问题并提高灵活性和适用性。 ... [详细]
  • UI组件:ext、JqueryEasyUI、miniui、dhtmlx及自定义页面
    这篇博文主要是分析下当前经常使用到的UI组件,他们的效果和功能一般都可以满足我们平常项目使用,但对于较复杂些的项目建议你要斟酌下再决定是否使用ÿ ... [详细]
  • 用阿里云的免费 SSL 证书让网站从 HTTP 换成 HTTPS
    HTTP协议是不加密传输数据的,也就是用户跟你的网站之间传递数据有可能在途中被截获,破解传递的真实内容,所以使用不加密的HTTP的网站是不 ... [详细]
  • 如何在Java中使用DButils类
    这期内容当中小编将会给大家带来有关如何在Java中使用DButils类,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。D ... [详细]
  • 在JavaWeb开发中,文件上传是一个常见的需求。无论是通过表单还是其他方式上传文件,都必须使用POST请求。前端部分通常采用HTML表单来实现文件选择和提交功能。后端则利用Apache Commons FileUpload库来处理上传的文件,该库提供了强大的文件解析和存储能力,能够高效地处理各种文件类型。此外,为了提高系统的安全性和稳定性,还需要对上传文件的大小、格式等进行严格的校验和限制。 ... [详细]
  • 在PHP中如何正确调用JavaScript变量及定义PHP变量的方法详解 ... [详细]
  • PTArchiver工作原理详解与应用分析
    PTArchiver工作原理及其应用分析本文详细解析了PTArchiver的工作机制,探讨了其在数据归档和管理中的应用。PTArchiver通过高效的压缩算法和灵活的存储策略,实现了对大规模数据的高效管理和长期保存。文章还介绍了其在企业级数据备份、历史数据迁移等场景中的实际应用案例,为用户提供了实用的操作建议和技术支持。 ... [详细]
  • 在Linux系统中避免安装MySQL的简易指南
    在Linux系统中避免安装MySQL的简易指南 ... [详细]
  • WebStorm 是一款强大的集成开发环境,支持多种现代 Web 开发技术,包括 Node.js、CoffeeScript、TypeScript、Dart、Jade、Sass、LESS 和 Stylus。它为开发者提供了丰富的功能和工具,帮助高效构建和调试复杂的 Node.js 应用程序。 ... [详细]
  • Android ListView 自定义 CheckBox 实现列表项多选功能详解
    本文详细介绍了在Android开发中如何在ListView的每一行添加CheckBox,以实现列表项的多选功能。用户不仅可以通过点击复选框来选择项目,还可以通过点击列表的任意一行来完成选中操作,提升了用户体验和操作便捷性。同时,文章还探讨了相关的事件处理机制和布局优化技巧,帮助开发者更好地实现这一功能。 ... [详细]
  • 本文深入解析了HTML表格与表单元素,特别是图像映射技术的应用。详细介绍了如何利用 `` 标签实现内容的行列对齐,并探讨了 HTML4 中 Flash 的引入及其在网页设计中的应用。通过实例展示了 `` 标签的使用方法,帮助开发者更好地理解和掌握这些核心元素。 ... [详细]
  • 子元素过滤器在页面设计过程中需要突出某些行时,可以通过基本过滤选择器中的:eq()来实现表单中行的凸显,但不能同时让多个表具有相同的效果。在jQuer ... [详细]
author-avatar
糖糖6
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有