wicket中当在一个类中要操作种UI时,的解决办法
来源:互联网 发布:淘宝网店怎么开 编辑:程序博客网 时间:2024/05/22 02:02
package com.shzhsoft.webapp.test.datatable;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;
import javax.swing.tree.TreeModel;
import org.apache.wicket.extensions.markup.html.tree.table.ColumnLocation;
import org.apache.wicket.extensions.markup.html.tree.table.IColumn;
import org.apache.wicket.extensions.markup.html.tree.table.PropertyRenderableColumn;
import org.apache.wicket.extensions.markup.html.tree.table.PropertyTreeColumn;
import org.apache.wicket.extensions.markup.html.tree.table.TreeTable;
import org.apache.wicket.extensions.markup.html.tree.table.ColumnLocation.Alignment;
import org.apache.wicket.extensions.markup.html.tree.table.ColumnLocation.Unit;
import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.link.Link;
import org.apache.wicket.markup.html.panel.Panel;
/**
*
* @author 向诗熠
* 测试树的操作,点击树上的节点弹出Panel,以产生不同的页面
*/
public class TreeTestPage extends WebPage {
private static final long serialVersionUID = 1L;
TreePanelOne treePanelOne;
TreePanelTwo treePanelTwo;
TreeTable tree;
public TreeTestPage(){
super();
treePanelOne=new TreePanelOne("first");
add(treePanelOne);
treePanelTwo=new TreePanelTwo("second");
add(treePanelTwo);
IColumn columns[] = new IColumn[] { new PropertyTreeColumn(new
ColumnLocation(Alignment.LEFT, 18, Unit.EM), "作者", "userObject.author"),
new PropertyRenderableColumn(new ColumnLocation(Alignment.LEFT, 12,
Unit.EM), "标题", "userObject.title"), };
tree = new TreeTable("treeTable", buildTreeModel(), columns){
private static final long serialVersionUID = 1L;
//private void
};
tree.getTreeState().setAllowSelectMultiple(true);
add(tree);
add(new Link("expandAll") {
private static final long serialVersionUID = 1L;
public void onClick() {
tree.getTreeState().expandAll();
treePanelOne.setVisible(false);
treePanelTwo.setVisible(true);
}
});
add(new Link("collapseAll") {
private static final long serialVersionUID = 1L;
public void onClick() {
tree.getTreeState().collapseAll();
treePanelOne.setVisible(true);
treePanelTwo.setVisible(false);
}
});
}
private TreeModel buildTreeModel() {
Book rootBook = new Book();
rootBook.setAuthor("根作者");
rootBook.setTitle("根标题");
DefaultMutableTreeNode rootNode = new DefaultMutableTreeNode(rootBook);
for (int i = 0; i < 10; i++) {
Book parentBook = new Book();
DefaultMutableTreeNode parentNode = new DefaultMutableTreeNode(parentBook);
parentBook.setAuthor("父作者"+ i);
parentBook.setTitle("父标题" + i);
for (int j = 0; j < 5; j++) {
Book childBook = new Book();
childBook.setAuthor("子作者" + (10 * i + j));
childBook.setTitle("子标题"+ (10 * i + j));
parentNode.add(new DefaultMutableTreeNode(childBook));
}
rootNode.add(parentNode);
}
return new DefaultTreeModel(rootNode);
}
//------------
public class TreePanelOne extends Panel{
private static final long serialVersionUID = 1L;
public TreePanelOne(String id){
super(id);
this.add(new Label("message","第一个窗体,以维护单位信息"));
this.setVisible(false);
}
}
//------------------------------
public class TreePanelTwo extends Panel{
private static final long serialVersionUID = 1L;
public TreePanelTwo(String id){
super(id);
this.add(new Label("message","第二个窗体,维护规则号信息"));
this.setVisible(false);
}
}
}
下面是几个HtML TreeTestPage.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Insert title here</title>
<style type="text/css" media="all">
<!div.
mytree
div.wickettree
{
height: 80em;
}
>
</style>
</head>
<body>
<table>
<tr>
<td>
<table>
<a href="#" wicket:id="expandAll">展开所有结点</a>
<a href="#" wicket:id="collapseAll">折叠所有结点</a>
<div wicket:id="treeTable" class="mytree"></div>
</table>
</td>
<td>
<table>
<span wicket:id="first"></span>
<span wicket:id="second"></span>
</table>
</td>
</tr>
</table>
</body>
</html>
//TreeTestPage$TreePanelOne .html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<wicket:panel>
<span wicket:id="message"></span>
</wicket:panel>
</body>
</html>
//TreeTestPage$TreePanelTwo .html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<wicket:panel>
<span wicket:id="message"></span>
</wicket:panel>
</body>
</html>
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;
import javax.swing.tree.TreeModel;
import org.apache.wicket.extensions.markup.html.tree.table.ColumnLocation;
import org.apache.wicket.extensions.markup.html.tree.table.IColumn;
import org.apache.wicket.extensions.markup.html.tree.table.PropertyRenderableColumn;
import org.apache.wicket.extensions.markup.html.tree.table.PropertyTreeColumn;
import org.apache.wicket.extensions.markup.html.tree.table.TreeTable;
import org.apache.wicket.extensions.markup.html.tree.table.ColumnLocation.Alignment;
import org.apache.wicket.extensions.markup.html.tree.table.ColumnLocation.Unit;
import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.link.Link;
import org.apache.wicket.markup.html.panel.Panel;
/**
*
* @author 向诗熠
* 测试树的操作,点击树上的节点弹出Panel,以产生不同的页面
*/
public class TreeTestPage extends WebPage {
private static final long serialVersionUID = 1L;
TreePanelOne treePanelOne;
TreePanelTwo treePanelTwo;
TreeTable tree;
public TreeTestPage(){
super();
treePanelOne=new TreePanelOne("first");
add(treePanelOne);
treePanelTwo=new TreePanelTwo("second");
add(treePanelTwo);
IColumn columns[] = new IColumn[] { new PropertyTreeColumn(new
ColumnLocation(Alignment.LEFT, 18, Unit.EM), "作者", "userObject.author"),
new PropertyRenderableColumn(new ColumnLocation(Alignment.LEFT, 12,
Unit.EM), "标题", "userObject.title"), };
tree = new TreeTable("treeTable", buildTreeModel(), columns){
private static final long serialVersionUID = 1L;
//private void
};
tree.getTreeState().setAllowSelectMultiple(true);
add(tree);
add(new Link("expandAll") {
private static final long serialVersionUID = 1L;
public void onClick() {
tree.getTreeState().expandAll();
treePanelOne.setVisible(false);
treePanelTwo.setVisible(true);
}
});
add(new Link("collapseAll") {
private static final long serialVersionUID = 1L;
public void onClick() {
tree.getTreeState().collapseAll();
treePanelOne.setVisible(true);
treePanelTwo.setVisible(false);
}
});
}
private TreeModel buildTreeModel() {
Book rootBook = new Book();
rootBook.setAuthor("根作者");
rootBook.setTitle("根标题");
DefaultMutableTreeNode rootNode = new DefaultMutableTreeNode(rootBook);
for (int i = 0; i < 10; i++) {
Book parentBook = new Book();
DefaultMutableTreeNode parentNode = new DefaultMutableTreeNode(parentBook);
parentBook.setAuthor("父作者"+ i);
parentBook.setTitle("父标题" + i);
for (int j = 0; j < 5; j++) {
Book childBook = new Book();
childBook.setAuthor("子作者" + (10 * i + j));
childBook.setTitle("子标题"+ (10 * i + j));
parentNode.add(new DefaultMutableTreeNode(childBook));
}
rootNode.add(parentNode);
}
return new DefaultTreeModel(rootNode);
}
//------------
public class TreePanelOne extends Panel{
private static final long serialVersionUID = 1L;
public TreePanelOne(String id){
super(id);
this.add(new Label("message","第一个窗体,以维护单位信息"));
this.setVisible(false);
}
}
//------------------------------
public class TreePanelTwo extends Panel{
private static final long serialVersionUID = 1L;
public TreePanelTwo(String id){
super(id);
this.add(new Label("message","第二个窗体,维护规则号信息"));
this.setVisible(false);
}
}
}
下面是几个HtML TreeTestPage.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Insert title here</title>
<style type="text/css" media="all">
<!div.
mytree
div.wickettree
{
height: 80em;
}
>
</style>
</head>
<body>
<table>
<tr>
<td>
<table>
<a href="#" wicket:id="expandAll">展开所有结点</a>
<a href="#" wicket:id="collapseAll">折叠所有结点</a>
<div wicket:id="treeTable" class="mytree"></div>
</table>
</td>
<td>
<table>
<span wicket:id="first"></span>
<span wicket:id="second"></span>
</table>
</td>
</tr>
</table>
</body>
</html>
//TreeTestPage$TreePanelOne .html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<wicket:panel>
<span wicket:id="message"></span>
</wicket:panel>
</body>
</html>
//TreeTestPage$TreePanelTwo .html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<wicket:panel>
<span wicket:id="message"></span>
</wicket:panel>
</body>
</html>
- wicket中当在一个类中要操作种UI时,的解决办法
- 当没有用 EXISTS 引入子查询时,在选择列表中只能指定一个表达式的解决办法
- 当没有用 EXISTS 引入子查询时,在选择列表中只能指定一个表达式的解决办法
- 当手机在Eclipse中不能识别时的操作
- 在Myeclipse中安装wicket!
- 4种在线程中操作UI的方法
- MAC - 当在brew中找不到想要的PHP扩展时的解决办法
- 在安全管理的Hard模式中,当一个好“玩家”
- 当在一个方法中需要返回多个参数时的做法
- 在页面中使用updatePanel和freeTextBox时,当页面刷子新后,ftb不能输入内容的解决办法
- 不要在UI主线程中进行耗时的操作
- android-----在子线程中更新UI操作的方法
- 在子线程中操作Ui的几种小方法
- 在Fragment的延时操作中如何更新UI
- 在一个activity中更改另一个activity的UI
- 在一个 Activity 中改变另一个 Activity 的 UI
- 在UNITY中创建出一个简单的UI界面
- wicket中日历控件的用法
- 做的很好
- 转换object
- 全国年节及纪念日放假办法
- Lucene的特性分析
- 盗窃案告破
- wicket中当在一个类中要操作种UI时,的解决办法
- svn使用和配置方法
- 使用P/Invoke、C#与Windows Media Player互操作(一)
- 谷歌的愚人节玩笑开大了
- Quest3D簡介
- 利用using和try-finally来释放资源
- wicket中日历控件的用法
- 网络安全工具开发函数库介绍之二——libpcap
- [原创]PHP could not find driver 解决方法