当前位置:首页 » 编程语言 » 翻页java

翻页java

发布时间: 2022-04-29 20:33:47

‘壹’ 每翻一页,都去数据库中查一次。这种分页效果用java怎么写

在用jdbc访问某个数据库,并读出一个resultset数据记录集时,如果记录数太大,则会占用客户端(运行java程式的机器)的大量内存(如果客户端是某个大企业的营业部门的代理点分机,则有可能java程式会占用完全部内存,然后报错),并且会造成客户端负载过重,运行速度极度缓慢(在sybase数据库中,我曾做过一个测试。选择某个大数据记录,sql语句运行完需要4分钟,而在java客户端完全显示出来,则需要将近10分钟)。解决方案:
给用户提供一个可选择分页显示的选项,如果用户不想分页显示则完全显示,否则分页显示。

1.定义一个分页数全局常量,即每页显示的数据条数。

private final static int skip = 100;

2.定义一个确定某个分页条数的全局变量,即该显示页的当前显示数据条数。

private static int cur = 0;

3.定义一个resultset全局变量,以便多次使用

private static java.sql.result rs = null;

4.打开一个数据库连接[/pre]

class.forname( sqldriver );java.sql.connection conn = drivermanager.getconnection( url, (string)username,(string)passwd)statement stmt = conn.createstatement();string searchsql = "......";rs = stmt.executequery(searchsql);

‘贰’ java中swing做表格翻页用什么类做

Swing中一般用JScrollPan来进行滚动,不需要使用翻页。

如果非要翻页,有两种方式:

  1. 一次检索出全部数据,放到TableModel中,这时可以设计另一个TableModel做成一个类似滑动窗口的方式,每次在窗口Model中只映射原Model的部分数据。

  2. 一次检索出一页数据,这与网页中的翻页完全相同。

对第一种情况,下面给出一个实现:

publicclass PageTableModel extends AbstractTableModel implements TableModel,TableModelListener{

private TableModel baseModel;

public PageTableModel(TableModel baseModel){

this.baseModel=baseModel;

baseModel.addTableModelListener(this);

}

/**当前页,从0开始编号.

*/

private int currentPage;

/**每页最多数据行数.

*/

private int pageSize=20;


/**获取总页数。

*

* @return

*/

public int getPageCount(){

int mod=baseModel.getRowCount()%pageSize;

int hasMode=mod>0?1:0;

return baseModel.getRowCount()/pageSize+hasMode;

}


public int getPageSize() {

return pageSize;

}


public void setPageSize(int pageSize) {

this.pageSize = pageSize;

}


public int getCurrentPage() {

return currentPage;

}


public void setCurrentPage(int currentPage) {

this.currentPage = currentPage;

}

@Override

public int getRowCount() {

if(getCurrentPage()<getPageCount()-1)return pageSize;

return baseModel.getRowCount() % pageSize;

}


@Override

public int getColumnCount() {

return baseModel.getColumnCount();

}


@Override

public String getColumnName(int columnIndex) {

return baseModel.getColumnName(columnIndex);

}


@Override

public Class<?> getColumnClass(int columnIndex) {

return baseModel.getColumnClass(columnIndex);

}


@Override

public boolean isCellEditable(int rowIndex, int columnIndex) {

return baseModel.isCellEditable(getBaseModelRow(rowIndex), columnIndex);

}


@Override

public Object getValueAt(int rowIndex, int columnIndex) {

return baseModel.getValueAt(getBaseModelRow(rowIndex), columnIndex);

}


@Override

public void setValueAt(Object aValue, int rowIndex, int columnIndex) {

baseModel.setValueAt(aValue, getBaseModelRow(rowIndex), columnIndex);

}


@Override

public void tableChanged(TableModelEvent e) {

int firstRow,lastRow;

int minFirstRow=getBaseModelRow(0);

int maxFirstRow=getBaseModelRow(pageSize-1);

if(e.getFirstRow()>maxFirstRow)return;

if(e.getLastRow()<minFirstRow)return;

firstRow=getThisModelRow(e.getFirstRow());

if(firstRow<0)firstRow=0;

lastRow=getThisModelRow(e.getLastRow());

if(lastRow<0)lastRow=this.pageSize-1;

fireTableChanged(new TableModelEvent(this, firstRow, lastRow, e.getColumn(), e.getType()));

}


/**获取指定的行在底层Model中的行号.

*

* @param row

* @return

*/

private int getBaseModelRow(int row){

return getCurrentPage()*pageSize+row;

}

/**获取指定的底层Model中的行号对应的当前Model的行号.

* 如果底层Model中指定的行号不在当前Model的显示范围内,应该返回-1。

*

* @param row

* @return

*/

private int getThisModelRow(int row){

if(row/pageSize !=getCurrentPage())return -1;

return row%pageSize;

}

}

‘叁’ JAVA高手能否告知,JAVA如何实现自动从文件夹读取文件并翻页显示

图片你自己改了。图片切换效果已经做出来了
package com.east.lesson11.swing;

import java.awt.BorderLayout;
import java.awt.CardLayout;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class CardDemo extends JFrame {
CardLayout cl=null;
JPanel cp=null;
public CardDemo(){
super("卡片式布局");
}

public void init(){
cl=new CardLayout();
cp=new JPanel();
JButton pre=new JButton("上一张");
pre.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
cl.previous(cp);
}

});
JButton next=new JButton("下一张");
next.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
cl.next(cp);
}

});
JPanel np=new JPanel();
np.add(pre);
np.add(next);
add(np,BorderLayout.NORTH);

cp.setLayout(cl);
try {
Image img1=ImageIO.read(new File("image/allseeds.png"));
JLabel l1=new JLabel();
l1.setIcon(new ImageIcon(img1));
cp.add(l1,"img1");//对于CardLayout,和其他Layout不一样,要为卡片添加名字img1

Image img2=ImageIO.read(new File("image/menu.png"));
JLabel l2=new JLabel();
l2.setIcon(new ImageIcon(img2));
cp.add(l2,"img2");

Image img3=ImageIO.read(new File("03.jpg"));
JLabel l3=new JLabel();
l3.setIcon(new ImageIcon(img3));
cp.add(l3,"img3");

Image img4=ImageIO.read(new File("04.jpg"));
JLabel l4=new JLabel();
l3.setIcon(new ImageIcon(img4));
cp.add(l4,"img4");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
add(cp,BorderLayout.CENTER);
this.setBounds(200, 200, 800, 800);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
CardDemo cdCardDemo=new CardDemo();
cdCardDemo.init();
}

}

‘肆’ java怎么实现翻页

分页的一般思想:
1.记录总数
2.每页记录数
3.页数(可通过前两个条件算出来,你应该会的吧)

然后在页面控制好当前页的页码去后台拿你想要的数据

以上纯是思路,楼主可以参考一下,如果你想要代码,你自己去网上搜,这种例子到处都是,我就不在这里现眼了。呵。。。

‘伍’ JAVA基础题目:怎么样才能实现“翻页”的功能!点击【NEXT】进入下一个界面;你举个例子可诶

好多方法

‘陆’ JAVA基础题目:怎么样才能实现“翻页”的功能!点击【NEXT】进入下一个界面;你举个例子可诶吗啊

读取你数据库的所有记录,这是总行数,然后你规定一下没页显示几条记录,然后还要记录一下当前的页数!
比如现在一共是30记录,你页显示7条,那么就是5页。(30+7-1)/7=5,你刚进来的时候肯定是第一页,那么就把1传进来,第一页就是显示第1~第7条记录,点下一页传2进来,第二页现实低第8~14条记录!怎么去记录就要看你怎么操作了,如果你是用SQL语句的话就帮不了你了,因为不知道你用的什么数据库!如果在集合里去的话,你可以根据传入的参数来算出本页的开始记录数和结束的记录数,开始是:当前页*每页记录数-没页记录数,结束就是:当前页*没也记录数-1.因为集合的下标是从0开始的,所以要-1.

‘柒’ 问个问题JAVA网络编程的问题,怎么在网页中用java模拟自动翻页并读取页面数据

思路比较简单,说白了就是取指定区域中的数据。
就拿贴吧来说吧:
当你打开一个帖子的时候或者获取指定贴吧中帖子列表时,java后台(其实其他语言也一样)首先查找数据库读取总数目(不知你是否学过sql:select count(*) from),然后根据指定的页面容量(比如一页显示10条20条)计算出一共有多少页,然后根据当前是第几页,就根据这个页码计算需要取哪些数据,例如第二页,每页十条,那么就取从 (2-1)*10+1行 到2*10行之间的记录(select * from (select * from xxx where row < 20) where row >11)

如果是list等数据/集合类型的也一样,先算总数得出页数,然后根据页码去取相应数据

‘捌’ java中做的翻页,如何能在不同页面设置每页输出不同数量的数据,求高手帮忙,小弟在这谢谢了

html

headtitleTree walk test - JScript/titlestylebody { font-family: 宋体; font-size: 9pt }.first { color: gray; text-decoration: none }.later { cursor: hand; color: red; text-decoration: none }/stylemeta name="GENERATOR" content="Microsoft FrontPage 4.0"meta name="ProgId" content="FrontPage.Editor.Document"/head

!--配置说明:width控制当前列的宽度;sortBy排序指向下面的data的tagname;sortType为排序类型,目前支持三种:text,date,number,也可实现自己的类型,只要修改sort函数就可了--XML ID="head"xmldata username width="150" sortBy="username" sortType="text"用户名/username pw width="150" sortBy="pw" sortType="number"密码/pw date width="200" sortBy="date" sortType="date"日期/date/xmldata/XML!--配置说明:isShow,控制此处内容是否显示;isKey是否是主键,1是且内容会在theValue里面显示,0否;--XML ID="data"xmldatarow id isShow="0" isKey="1"1/id username isShow="1" isKey="1"fmzhang1/username pw isShow="1" isKey="1"1/pw date isShow="1" isKey="0"2003-3-3/date/rowrow id isShow="0" isKey="1"2/id username isShow="1" isKey="1"fmzhang11/username pw isShow="1" isKey="1"1/pw date isShow="1" isKey="0"2003-3-3/date/rowrow id isShow="0" isKey="1"3/id username isShow="1" isKey="1"fmzhang2/username pw isShow="1" isKey="1"2/pw date isShow="1" isKey="0"2003-3-7/date/rowrow id isShow="0" isKey="1"4/id username isShow="1" isKey="1"fmzhang3/username pw isShow="1" isKey="1"3/pw date isShow="1" isKey="0"2003-5-3/date/rowrow id isShow="0" isKey="1"5/id username isShow="1" isKey="1"fmzhang4/username pw isShow="1" isKey="1"4/pw date isShow="1" isKey="0"2002-3-3/date/rowrow id isShow="0" isKey="1"6/id username isShow="1" isKey="1"fmzhang5/username pw isShow="1" isKey="1"5/pw date isShow="1" isKey="0"2003-1-3/date/rowrow id isShow="0" isKey="1"7/id username isShow="1" isKey="1"fmzhang6/username pw isShow="1" isKey="1"6/pw date isShow="1" isKey="0"2005-1-3/date/rowrow id isShow="0" isKey="1"8/id username isShow="1" isKey="1"fmzhang7/username pw isShow="1" isKey="1"7/pw date isShow="1" isKey="0"2003-5-3/date/rowrow id isShow="0" isKey="1"9/id username isShow="1" isKey="1"fmzhang8/username pw isShow="1" isKey="1"8/pw date isShow="1" isKey="0"2003-1-8/date/rowrow id isShow="0" isKey="1"10/id username isShow="1" isKey="1"fmzhang9/username pw isShow="1" isKey="1"9/pw date isShow="1" isKey="0"2003-11-3/date/row/xmldata/XMLbody id="objbody" onload="show(‘first‘)"

div id="mydiv"/divtable border="0" cellpadding="2" width="57%" tr td width="13%"input type="button" value="首页" onclick="show(‘first‘)"/td td width="14%"input type="button" value="" onclick="show(‘prov‘)"/td td width="35%"input type="button" value="" onclick="show(‘next‘)"/td td width="14%"input type="button" value="最后一页" onclick="show(‘last‘)"/td td width="40%"input type="text" size="5" maxlength="5" name="pageNum" value onkeydown="if(event.keyCode==13) goPageNum()" onkeyup="value=value.replace(/[^\d]/g,‘‘)" onblur="value=value.replace(/[^\d]/g,‘‘)" onbeforepaste="clipboardData.setData(‘text‘,clipboardData.getData(‘text‘).replace(/[^\d]/g,‘‘))"input type="button" value="go" onclick="goPageNum()"/td /tr tr td width="13%"用户名/td td width="14%"input type="text" name="xm" size="10" value/td td width="35%" nowrap onclick="if(isResult.checked==true) isResult.checked=false;else if(isResult.checked==false) isResult.checked=true"input type="checkbox" name="isResult" onclick="if(this.checked==true) this.checked=false;else this.checked=true;" value="ON"在当前结果中查找/td td width="54%" colspan="2"input type="button" name="search" onclick="search()" value="查找" size="10"/td /tr/tabletable border="0" cellpadding="2" width="100%"/tablenbsp;nbsp;nbsp;nbsp;table id="tableSec" tr td !-- 添加自己的按钮 -- input type="button" value="此处添加自定义按钮" onclick="yourFunction()"/td /tr/table

/body

/htmlscript//下面为初始化参数var datanodes=data.documentElement.childNodes;//下面三行保存副本,供删除以后恢复var xmlDoc=document.all("data").XMLDocument;var xmlDocTemp=new ActiveXObject("MSXML.DOMDocument");xmlDocTemp.appendChild(xmlDoc.documentElement.cloneNode(true));var totalrow=datanodes.length;//总数据行数var pagerow=4;//每页行数var totalpage=0;//总页数if(totalrow!=0) { if(totalrow%pagerow!=0) totalpage=parseInt(totalrow/pagerow)+1; else totalpage=parseInt(totalrow/pagerow);}var currPage=1;//当前页码var checkArr=new Array();//是否选中var theValueArr=new Array();//记录选中记录的checkbox的value值for(var i=0;itotalrow;i++){ checkArr[i]=0;//记录选中的记录0为未选中,1为选中,初始为0 theValueArr[i]="";}var buildArr=new Array();//保存当前页要生成的记录序号var sortOrder=‘asce‘;//保存升序还是降序 mydiv.innerText="一共"+totalpage+"页"+totalrow+"条记录,当前为第1页,当前选中0条记录";var nodes=head.documentElement.childNodes;var nodeslen=nodes.length;var attributes=head.documentElement.firstChild.attributes;var objform=document.createElement("FORM name=‘fjcl‘");var objtable=document.createElement("TABLE bordercolor=‘#1EC600‘ border=‘1‘"); var objtbody=document.createElement("TBODY");objtable.appendChild(objtbody);/scriptscript language="javascript"//生成表格头部function addHead(){var objtr=document.createElement("TR bgColor=‘#FFCCCC‘");objtbody.appendChild(objtr);var objtd=document.createElement("TD");objtd.width="20";objtd.innerText=" ";objtr.appendChild(objtd);for(var i=0;inodeslen;i++){ var objtd=document.createElement("TD onclick=‘‘ onmousemove=‘‘"); objtd.width=head.documentElement.childNodes.item(i).getAttribute("width"); objtd.onmousemove="style.cursor=‘hand‘"; var sortBy=head.documentElement.childNodes.item(i).getAttribute("sortBy"); var sortType=head.documentElement.childNodes.item(i).getAttribute("sortType"); objtd.onclick="sort(‘"+sortBy+"‘,‘"+sortType+"‘,‘"+i+"‘)"; var tdtext=nodes.item(i).text+"→"; var objtext=document.createTextNode(tdtext); objtd.appendChild(objtext); objtr.appendChild(objtd);}objform.appendChild(objtable);objbody.appendChild(objform);objbody.appendChild(tableSec);}//添加符合条件的记录function addAll(){ var childdatanodes=data.documentElement.childNodes.item(0).childNodes; var childtotalrow=childdatanodes.length;//每行下面可能的数据项长度 for(var i=0;ibuildArr.length;i++) {var objtr; if(i%2==0) {objtr=document.createElement("TR onmouseover=‘‘ bgColor=‘#80FF80‘ ‘first‘ onclick=‘changeColor()‘ "); }else { objtr=document.createElement("TR onmouseover=‘‘ bgColor=‘#FFFF80‘ ‘first‘ onclick=‘changeColor()‘ "); } if(checkArr[buildArr[i]-1]==1) objtr.className="later"; objtr.onmouseover="style.cursor=‘hand‘"; var thetd=document.createElement("TD"); var objCheckBox; if(checkArr[buildArr[i]-1]==0){ objCheckBox=document.createElement("input type=‘CHECKBOX‘ name=‘rad‘ value=‘‘ onclick=‘‘"); }else { objCheckBox=document.createElement("input type=‘CHECKBOX‘ name=‘rad‘ value=‘‘ onclick=‘‘ checked"); }objCheckBox.onclick=objCheckBox.onclick+";if(this.checked==true) checkArr["+parseInt(buildArr[i]-1)+"]=‘1‘;else checkArr["+parseInt(buildArr[i]-1)+"]=0"; thetd.appendChild(objCheckBox); objtr.appendChild(thetd); for(var j=0;jchildtotalrow;j++) { var isShow=datanodes.item(buildArr[i]-1).childNodes.item(j).getAttribute("isShow");//是否显示 var isKey=datanodes.item(buildArr[i]-1).childNodes.item(j).getAttribute("isKey"); //是否是主键 if(isShow==‘1‘)//isShow=1 { var objtd=document.createElement("TD onclick=‘‘"); var tdtext=document.createTextNode(datanodes.item(buildArr[i]-1).childNodes.item(j).text); objtd.appendChild(tdtext); objtr.appendChild(objtd);objtd.onclick=objCheckBox.click; } if(isKey==‘1‘) { if(objCheckBox.value=="") objCheckBox.value=objCheckBox.value+datanodes.item(buildArr[i]-1).childNodes.item(j).tagName+"="+datanodes.item(buildArr[i]-1).childNodes.item(j).text; elseobjCheckBox.value=objCheckBox.value+""+datanodes.item(buildArr[i]-1).childNodes.item(j).tagName+"="+datanodes.item(buildArr[i]-1).childNodes.item(j).text; } } theValueArr[buildArr[i]-1]=objCheckBox.value; objtbody.appendChild(objtr); } objform.appendChild(objtable); objbody.appendChild(objform); objbody.appendChild(tableSec);}//翻页按钮操作function show(thePage){ if(totalrow==0) { del(); addHead(); return false; } if(thePage=="first") { del(); addHead(); buildArr=new Array(); if(totalrow=pagerow){ for(var i=1;i=pagerow;i++) buildArr[i-1]=i; }else{ for(var i=1;i=totalrow;i++) buildArr[i-1]=i; } addAll(); currPage=1; }else if(thePage=="prov") { if(currPage==1) return false; del(); addHead(); buildArr=new Array(); for(var i=1;i=pagerow;i++){ buildArr[i-1]=(currPage-2)*pagerow+i; } addAll(); currPage=currPage-1; }else if(thePage=="next") { if(currPage==totalpage) return false; del(); addHead(); buildArr=new Array(); if((currPage+1)*pagerow=totalrow){ for(var i=1;i=totalrow-currPage*pagerow;i++) buildArr[i-1]=currPage*pagerow+i; }else { for(var i=1;i=pagerow;i++) buildArr[i-1]=currPage*pagerow+i; } addAll(); currPage=currPage+1; }else if(thePage=="last") { if(currPage==totalpage) return false;del(); addHead(); buildArr=new Array(); if(totalrow%pagerow==0){ for(var i=1;i=pagerow;i++) buildArr[i-1]=totalrow-pagerow+i; }else{ for(var i=1;i=totalrow%pagerow;i++) buildArr[i-1]=totalrow-totalrow%pagerow+i; } addAll(); currPage=totalpage; } changeMyDiv();}//删除objform下面的所有内容function del(){objform.removeNode(true);objform=document.createElement("FORM name=‘fjcl‘");objtable=document.createElement("TABLE bordercolor=‘#1EC600‘ border=‘1‘"); objtbody=document.createElement("TBODY");objtable.appendChild(objtbody);}//改变颜色function changeColor(){for(var i=0;iobjtbody.childNodes.length-1;i++){ var theRow=buildArr[i]-1; if(checkArr[theRow]==0) { objtbody.childNodes.item(i+1).className="first"; } else { objtbody.childNodes.item(i+1).className="later"; } }changeMyDiv();}function changeMyDiv(){var totalChecked=0;//记录当前选中记录数for(var i=0;itotalrow;i++){ if(checkArr[i]==1) totalChecked+=1;}mydiv.innerText="一共"+totalpage+"页"+totalrow+"条记录,当前为第"+currPage+"页,当前选中"+totalChecked+"条记录"; }

function showValue(){ var str=""; var str2=""; for(var i=0;itotalrow;i++) { str+=checkArr[i]+";"; if(checkArr[i]==1) str2+=theValueArr[i]+";"; } alert(str); alert(str2);}//跳转到某个页function goPageNum(){ var page=pageNum.value; if(totalrow==0) { alert("没有可操作的记录!"); return false; } if(page.length==0) { alert("请输入要跳转的页码!"); return false; } if(parseInt(page)==0

‘玖’ 如何用JAVA实现类似ACDSee中的图片前后翻页

用File.list()貌似,不记得了。
就是取出一个文件夹下面所有的文件,存到一个File数组里。取出来判断是否是图片的后缀名嘛。
翻页就是下标改变。

‘拾’ JAVA大家帮我看下:怎么实现输出输入然后显示翻页的,我的代码如下。初学者不太会,请大家帮帮小弟我。

修改了一下:

importjava.util.*;	//导入包,Scanner需要用到

publicclassMyShopping{
//全局变量
staticString[][]commodity={
{"衣服","23","01"},{"鞋子","52","02"},
{"帽子","34","03"},{"围巾","16","04"},
{"腰带","23","05"}
};

publicstaticvoidmain(String[]args){
commodityMenu();
}

staticvoidcommodityMenu(){
intcurrentPage=0; //默认显示页面
intpageSize=2; //页面显示数量
intpageEnd=currentPage*pageSize+pageSize; //页面结束位置
while((pageSize*(currentPage))<=commodity.length){
System.out.println("请选择商品: ");
System.out.println("|商品| |价格| |编号|"); //改用制表符
for(inti=currentPage*pageSize;i<pageEnd;i++){ //重写了一下
System.out.print((i+1)+":");
for(intj=0;j<commodity[i].length;j++){
System.out.print(commodity[i][j]+" ");
}
System.out.println();
}
System.out.println(" *:下一页");
System.out.println("#:返回");
System.out.println("----------------------------------");
System.out.print("请选择操作(*或#):");
//添加输入处理
Scannersc=newScanner(System.in);
Stringchoice=sc.next();
//下一页
if(choice.equals("*")){
currentPage++;
pageEnd=currentPage*pageSize+pageSize;
if(pageEnd>commodity.length){
pageEnd=commodity.length;
}
}
//返回第一页
if(choice.equals("#")){
currentPage=0;
pageEnd=currentPage*pageSize+pageSize;
}
System.out.println();
}
}
}

效果:

热点内容
没有被调用的函数会参与编译吗 发布:2025-05-15 13:42:51 浏览:259
在计算机中ftp的中文 发布:2025-05-15 13:41:07 浏览:999
国网校招要网签密码和账号干什么 发布:2025-05-15 13:40:25 浏览:179
java分 发布:2025-05-15 13:34:36 浏览:846
如何下载卡巴斯基安卓版 发布:2025-05-15 13:34:36 浏览:480
排序函数c语言 发布:2025-05-15 13:06:28 浏览:6
韩服lol挂机脚本 发布:2025-05-15 12:42:56 浏览:461
监控存储服务器如何调试 发布:2025-05-15 12:36:30 浏览:219
一万级净化车间有哪些配置 发布:2025-05-15 12:16:41 浏览:98
javazip解压加密 发布:2025-05-15 12:15:02 浏览:943