`
yqklw521
  • 浏览: 3201 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

分页封装1

阅读更多
import java.util.List;

public interface PageInterface {
public List getTableList(int page, int rows);
}

public class PageFactory {
public static PageInterface getClass(String className)
throws InstantiationException, IllegalAccessException {
PageInterface production = null;
try {
production = (PageInterface) Class.forName(className).newInstance();
} catch (ClassNotFoundException ex) {
ex.printStackTrace();
}
return production;
}
}

import java.util.List;

public class PageList {
public List showListOfTable(String a, int page, int rows)
throws InstantiationException, IllegalAccessException {
PageInterface cat = PageFactory.getClass(a);
List list = cat.getTableList(page, rows);
return list;
}
}
分享到:
评论
10 楼 happycode 2010-04-29  
private int totalPage = 20;
这些不要限定死
9 楼 bryande 2010-04-29  
重新排版吧
8 楼 MySpace 2010-04-29  
注释少了点哦
7 楼 yqklw521 2010-04-29  
感觉还可以吧
6 楼 whaosoft 2010-04-29  
cs的呀 .... 好么
5 楼 yqklw521 2010-04-29  
因公司不给上次文件,只能这样分享下咯
4 楼 yqklw521 2010-04-29  
测试

package aPage;

import java.awt.Rectangle;
import java.util.ArrayList;
import java.util.List;

import javax.swing.JFrame;
import javax.swing.JPanel;

public class PageFrame extends JFrame implements PageInterface {

private static final long serialVersionUID = 1L;
private JPanel jContentPane = null;
private JPanel jPanel = null;

List listData;
String className = "aPage.PageFrame";
PagePanel panel;
/**
* This is the default constructor
*/
public PageFrame() {
super();
initialize();
}

/**
* This method initializes this
*
* @return void
*/
private void initialize() {
this.setSize(800, 700);
this.setContentPane(getJContentPane());
this.setTitle("JFrame");

}

/**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel();
jContentPane.setLayout(null);
jContentPane.add(getJPanel(), null);

}
return jContentPane;
}

/**
* This method initializes jPanel
*
* @return javax.swing.JPanel
*/
private JPanel getJPanel() {
if (jPanel == null) {
jPanel = new JPanel();
jPanel.setLayout(null);
jPanel.setBounds(new Rectangle(17, 6, 700, 600));
String header[] = { "姓名", "地址", "年龄", "性别", "电话" };
int rows = 20;
List firstList = this.getTableList(1, rows);
panel = new PagePanel(className, header, firstList, rows,700,500,100);
jPanel.add(panel);

}
return jPanel;
}

public List getTableList(int page, int rows) {
List list = getList(page, rows);
listData = new ArrayList();
if (list.size() > 0 && list != null) {
for (Object bean : list) {
if (bean instanceof PageTableBean) {
PageTableBean pageBean = (PageTableBean) bean;
String name = "";
if (pageBean.getName() != null) {
name = pageBean.getName();
}
String address = "";
if (pageBean.getAddress() != null) {
address = pageBean.getAddress();
}
int age = 0;
if (pageBean.getAge() != 0) {
age = pageBean.getAge();
}
String sex = "";
if (pageBean.getSex() != null) {
sex = pageBean.getSex();
}
String photo = "";
if (pageBean.getPhoto() != null) {
photo = pageBean.getPhoto();
}

Object[] ob = new Object[5];
ob[0] = name;
ob[1] = address;
ob[2] = age;
ob[3] = sex;
ob[4] = photo;
listData.add(ob);
}
}
}
return listData;
}

public static List<PageTableBean> getList(int page, int rows) {
List<PageTableBean> list = new ArrayList<PageTableBean>();
for (int i = page; i < rows + page; i++) {
PageTableBean bean = new PageTableBean();
bean.setName("name" + i);
bean.setAddress("address" + i);
bean.setAge(i);
if (i % 2 == 0) {
bean.setSex("男");
} else {
bean.setSex("女");
}
bean.setPhoto("photo" + i);
list.add(bean);
}
return list;
}

} // @jve:decl-index=0:visual-constraint="10,10"

3 楼 yqklw521 2010-04-29  
实体类

package aPage;

public class PageTableBean {

String name;
String address;
int age;
String sex;
String photo;

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getAddress() {
return address;
}

public void setAddress(String address) {
this.address = address;
}



public int getAge() {
return age;
}

public void setAge(int age) {
this.age = age;
}

public String getSex() {
return sex;
}

public void setSex(String sex) {
this.sex = sex;
}

public String getPhoto() {
return photo;
}

public void setPhoto(String photo) {
this.photo = photo;
}

}
2 楼 yqklw521 2010-04-29  
公共模板

import java.awt.Rectangle;
import java.util.List;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JButton;
import javax.swing.JLabel;
public class PagePanel extends JPanel {

private static final long serialVersionUID = 1L;
private JScrollPane jScrollPane = null;
private JTable jTable = null;

// ======================
private String page; // @jve:decl-index=0:
private PageTabelModel model;
private List<Object[]> tableData; // @jve:decl-index=0:
private int totalPage = 20;
private int numberOfPage = 1;
private String className;
private PageList pList = new PageList(); // @jve:decl-index=0:
private int rows;
private String header[];
private int width = 400;
private int height = 300;
private int leftWidth = 5;
// =0:
private JButton firstButton = null;
private JButton preButton = null;
private JButton nextButton = null;
private JButton lastButton = null;
private JLabel jLabel = null;

/**
*
* @param className 类名
* @param header 表头数组
* @param tableData 表格初始显示信息
* @param rows 每页显示行数
* @param width 表格宽度
* @param height 表格高度
* @param leftWidth 分页按钮距离左边宽度
*/
public PagePanel(String className, String header[],
List<Object[]> tableData, int rows, int width, int height,
int leftWidth) {
super();
this.className = className;
this.header = header;
this.tableData = tableData;
this.rows = rows;
this.width = width;
this.height = height;
this.leftWidth = leftWidth;
page = "共 " + totalPage + " 页 当前第 " + numberOfPage + " 页";
initialize();
}

/**
* This method initializes this
*
* @return void
*/
private void initialize() {
jLabel = new JLabel();
jLabel.setBounds(new Rectangle(leftWidth + 270, height - 30, 124, 24));
jLabel.setText(page);
this.setSize(width, height);
this.setLayout(null);
this.add(getJScrollPane(), null);
this.add(getFirstButton(), null);
this.add(getPreButton(), null);
this.add(getNextButton(), null);
this.add(getLastButton(), null);
this.add(jLabel, null);

}

/**
* This method initializes jScrollPane
*
* @return javax.swing.JScrollPane
*/
private JScrollPane getJScrollPane() {
if (jScrollPane == null) {
jScrollPane = new JScrollPane();
jScrollPane.setBounds(new Rectangle(1, 1, width - 2, height - 40));
jScrollPane.setViewportView(getJTable());
jScrollPane
.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
jScrollPane
.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
}
return jScrollPane;
}

/**
* This method initializes jTable
*
* @return javax.swing.JTable
*/
private JTable getJTable() {
if (jTable == null) {
model = new PageTabelModel(header);
jTable = new JTable();
model.setData(tableData);
jTable.setModel(model);
}
return jTable;
}

/**
* This method initializes firstButton
*
* @return javax.swing.JButton
*/
private JButton getFirstButton() {
if (firstButton == null) {
firstButton = new JButton();
firstButton
.setBounds(new Rectangle(leftWidth, height - 30, 60, 24));
firstButton.setText("首页");
firstButton.addActionListener(new java.awt.event.ActionListener() {
@SuppressWarnings("unchecked")
public void actionPerformed(java.awt.event.ActionEvent e) {
numberOfPage = 1;
try {
tableData = pList.showListOfTable(className,
numberOfPage, rows);
} catch (InstantiationException e1) {
e1.printStackTrace();
} catch (IllegalAccessException e1) {
e1.printStackTrace();
}
setDataOfTable();
}
});
}
return firstButton;
}

/**
* This method initializes preButton
*
* @return javax.swing.JButton
*/
private JButton getPreButton() {
if (preButton == null) {
preButton = new JButton();
preButton.setText("上一页");
preButton.setBounds(new Rectangle(leftWidth + 60, height - 30, 75,
24));
preButton.addActionListener(new java.awt.event.ActionListener() {
@SuppressWarnings("unchecked")
public void actionPerformed(java.awt.event.ActionEvent e) {
if (numberOfPage <= totalPage && numberOfPage > 1) {
numberOfPage = numberOfPage - 1;
}
try {
tableData = pList.showListOfTable(className,
numberOfPage, rows);
} catch (InstantiationException e1) {
e1.printStackTrace();
} catch (IllegalAccessException e1) {
e1.printStackTrace();
}
setDataOfTable();
}
});
}
return preButton;
}

/**
* This method initializes nextButton
*
* @return javax.swing.JButton
*/
private JButton getNextButton() {
if (nextButton == null) {
nextButton = new JButton();
nextButton.setText("下一页");
nextButton.setBounds(new Rectangle(leftWidth + 135, height - 30,
75, 24));
nextButton.addActionListener(new java.awt.event.ActionListener() {
@SuppressWarnings("unchecked")
public void actionPerformed(java.awt.event.ActionEvent e) {
if (numberOfPage < totalPage) {
numberOfPage = numberOfPage + 1;
}
try {
tableData = pList.showListOfTable(className,
numberOfPage, rows);
} catch (InstantiationException e1) {
e1.printStackTrace();
} catch (IllegalAccessException e1) {
e1.printStackTrace();
}
setDataOfTable();
}
});
}
return nextButton;
}

/**
* This method initializes lastButton
*
* @return javax.swing.JButton
*/
private JButton getLastButton() {
if (lastButton == null) {
lastButton = new JButton();
lastButton.setText("尾页");
lastButton.setBounds(new Rectangle(leftWidth + 210, height - 30,
60, 24));
lastButton.addActionListener(new java.awt.event.ActionListener() {
@SuppressWarnings("unchecked")
public void actionPerformed(java.awt.event.ActionEvent e) {
numberOfPage = totalPage;
try {
tableData = pList.showListOfTable(className,
numberOfPage, rows);
} catch (InstantiationException e1) {
e1.printStackTrace();
} catch (IllegalAccessException e1) {
e1.printStackTrace();
}

setDataOfTable();
}
});
}
return lastButton;
}

public void setDataOfTable() {
model.setData(tableData);
jTable.updateUI();
page = "共 " + totalPage + " 页 当前第 " + numberOfPage + " 页";
jLabel.setText(page);
if (numberOfPage == 1) {
firstButton.setEnabled(false);
preButton.setEnabled(false);
nextButton.setEnabled(true);
lastButton.setEnabled(true);
} else if (numberOfPage == totalPage) {
firstButton.setEnabled(true);
preButton.setEnabled(true);
nextButton.setEnabled(false);
lastButton.setEnabled(false);
} else {
firstButton.setEnabled(true);
preButton.setEnabled(true);
nextButton.setEnabled(true);
lastButton.setEnabled(true);
}

}

}
1 楼 yqklw521 2010-04-29  
package aPage;

import java.util.ArrayList;
import java.util.List;

import javax.swing.table.DefaultTableModel;

public class PageTabelModel extends DefaultTableModel{

/**
*
*/
private static final long serialVersionUID = 1L;

String header[];
List<Object[]> data = new ArrayList<Object[]>();

public PageTabelModel(String header[]){
this.header=header;
}
public List<Object[]> getData() {
return data;
}

public void setData(List<Object[]> data) {

this.data = data;
}

public int getColumnCount() {
return header.length;
}

public String getColumnName(int c) {
return header[c];
}

public Object getValueAt(int row, int column) {
return data.get(row)[column];
}

public boolean isCellEditable(int r, int c) {
return false;
}

public int getRowCount() {
if (data != null) {
return data.size();
} else {
return 0;
}
}
}

相关推荐

    分页封装类

    分页封装类

    js分页控件--js封装的分页控件

    自己写的一个js分页控件.已经封装,可以直接使用. 适合各种用途的分页控制. 如果界面不够美观,只需要修改css即可.

    网站分页代码封装jar包

    本项目提供了一个针对SQL Server数据库的Java代码封装,帮助开发者快速实现分页功能,避免重复编写类似的代码。 首先,我们需要理解分页的基本原理。在SQL中,我们可以使用`LIMIT`(在MySQL中)或`OFFSET`和`FETCH ...

    MyFaces Oracle大数据表分页封装.docx

    在这个文档中,我们将探讨如何使用`MyFaces`结合`Oracle`进行大数据表的分页封装。 首先,我们来看`DataPage`类。这个类是用于存储和管理分页数据的核心,它包含了三个主要属性:`datasetSize`(数据集总大小),`...

    分页代码(已封装)

    描述中的"分页封装"进一步确认了这个内容的核心是关于如何有效地实现和组织分页代码。 分页的基本原理是将大量数据分成若干个较小的部分,每次只加载一部分到用户界面,而不是一次性加载所有数据。这样可以减少内存...

    php实现数据分页封装

    4. **封装分页类** 将以上逻辑封装成一个类,可以方便地在项目中重复使用。创建一个名为`Page`的类,包含初始化、计算总页数、生成分页链接和获取当前页数据的方法。例如: ```php class Page { private $db; ...

    php封装的page分页类.zip

    "php封装的page分页类" 是一个专门用于处理这种需求的类库,它简化了PHP分页的实现过程,通过封装核心逻辑,使开发者能够快速、高效地实现分页功能。 首先,我们要理解分页的基本原理。在数据库查询中,如果一次性...

    swing表格分页控件封装

    java swing表格分页控件封装,有利于在开发中节约时间

    HibernateUtil 分页 增删改查 封装

    HibernateUtil 分页 增删改查 封装 HibernateUtil 分页 增删改查 封装 HibernateUtil 分页 增删改查 封装

    Spring jdbctemplate + mysql 分页封装

    综上所述,Spring JdbcTemplate结合MySQL的分页查询封装涉及到的主要知识点有:Spring的JdbcTemplate用法、MySQL的分页查询(LIMIT和OFFSET)、结果集映射、分页结果对象的构建、以及代码封装与复用。通过这些技术,...

    JAVA开发WEB分页封装办法实现

    本文将深入探讨如何在Java中实现Web分页封装,以便在实际项目中灵活应用。 首先,我们需要了解分页的基本概念。分页是将大量数据分割成较小、可管理的部分,每次只加载一部分到前端显示。这有助于减少网络传输的...

    Hibernate分页封装

    Hibernate分页封装 Hibernate是一个流行的Java持久化框架,提供了对数据库的访问和操作。然而,在实际开发中,分页是一种非常常见的需求,Hibernate也提供了相应的解决方案。下面,我们将对Hibernate分页封装进行...

    封装一个.net的分页控件

    1. **参数处理**:控件需要接收并处理关于分页的参数,如当前页、每页显示条数、总记录数等。这些参数通常通过HTTP请求传递,例如作为查询字符串或POST数据。 2. **数据库交互**:在服务器端,控件需能根据上述参数...

    将Web层分页封装成通用模块

    以"28_传智播客巴巴运动网_将Web层分页封装成通用模块"为例,该示例可能演示了如何在Web应用中实现分页功能的通用封装。可能涉及到的技术栈包括但不限于Spring MVC、MyBatis等。开发者通过创建一个分页工具类,实现...

    js实现的异步分页封装

    总的来说,使用JavaScript实现异步分页封装,不仅可以提升用户体验,还能使代码结构清晰,易于维护。通过封装组件,可以方便地在多个地方复用这一功能,大大提高了开发效率。在实际项目中,结合前端框架如React、Vue...

    【Vue2 + ElementUI】分页el-pagination 封装成公用组件

    为了在多个页面上复用并统一分页样式,我们可以将其封装为一个公用组件。下面我们将详细探讨如何进行这个过程,以及涉及到的语言包配置。 首先,我们需要理解el-pagination的基本用法。在ElementUI中,el-...

    java分页类封装

    跟我上面的java底层简易封装配套的。有需要的也可以学习下。

    ADO.NET分页封装[支持多表连接查询分页]-代码实现

    本教程将深入探讨如何使用ADO.NET进行分页封装,特别是对于涉及多表连接查询的场景。分页在大数据量的展示中尤为重要,因为它允许用户以更高效的方式浏览和管理数据,而不会一次性加载所有记录导致性能下降。 首先...

    超级封装的.tag标签分页、超级简化jsp内的分页代码、eclipse源码

    本资源提供了一种高效且简洁的分页解决方案,利用.tag标签技术来封装分页逻辑,使得在JSP页面中的实现变得简单易懂。 首先,我们来详细了解一下`.tag`标签。`.tag`文件是JSP标准标签库(JSTL)的一部分,用于创建...

    封装的分页插件

    这里提到的是一个由个人开发者封装的简单分页插件,它可以帮助我们轻松地在网页上实现数据的分页显示。 分页的基本原理是将大数据集分割成较小、可管理的部分,通常每一页显示一定数量的条目。这样可以提高用户体验...

Global site tag (gtag.js) - Google Analytics