java中表格分页技术.docx
- 文档编号:17976354
- 上传时间:2023-04-24
- 格式:DOCX
- 页数:8
- 大小:88.45KB
java中表格分页技术.docx
《java中表格分页技术.docx》由会员分享,可在线阅读,更多相关《java中表格分页技术.docx(8页珍藏版)》请在冰豆网上搜索。
java中表格分页技术
实验十表格
1.实验目的:
掌握表格的创建和表格模型的创建以及在按钮的添加和监听事件,掌握分页技术的原理。
2.实验题目:
在一个框架中添加一个表格和四个按钮:
首页,前一页,后一页,末页。
点击按钮达到分页的目的
3.实验代码:
packageJTabel;
importjava.awt.*;
importjava.awt.event.*;
importjava.util.Vector;
importjavax.swing.*;
importjavax.swing.table.*;
publicclassJavaHomework
{
staticintcurrentPageNumber;
staticintpagesize=5;//每一页有五行数据
staticintmaxPageNumber;//总的页数
publicstaticvoidmain(Stringargs[])
{
finalJFrameframe=newJFrame("表格的分页");
frame.setBounds(300,300,300,300);
Vector
columnName.add("序号");
columnName.add("平方数");
Vector
for(inti=0;i<23;i++)
{
Vector
addEveryRowdata.add(String.valueOf(i));
addEveryRowdata.add(String.valueOf(i*i));
rowData.add(addEveryRowdata);
}
finalDefaultTableModeltablemodel=newDefaultTableModel(rowData,columnName);
finalJTabletable=newJTable(tablemodel);
frame.add(newJScrollPane(table));
//添加四个按钮
JPanelpanel=newJPanel();
finalJButtonhomepagebutton=newJButton("首页");
finalJButtonpreviouspagebutton=newJButton("前一页");
finalJButtonthenextpagebutton=newJButton("后一页");
finalJButtonendpagebutton=newJButton("末页");
panel.add(homepagebutton);
panel.add(previouspagebutton);
panel.add(thenextpagebutton);
panel.add(endpagebutton);
maxPageNumber=(int)Math.ceil(tablemodel.getRowCount()/(pagesize-1));
System.out.println(maxPageNumber);
homepagebutton.addActionListener(newActionListener()
{
publicvoidactionPerformed(ActionEvente)
{
currentPageNumber=1;
Vectordatavector=tablemodel.getDataVector();
DefaultTableModelnewmodel=newDefaultTableModel();
newmodel.setColumnIdentifiers(newObject[]{"序号","平方数"});
for(inti=0;i<5;i++)
{newmodel.addRow((Vector)datavector.elementAt(i));
}
table.setModel(newmodel);
homepagebutton.setEnabled(false);
previouspagebutton.setEnabled(false);
thenextpagebutton.setEnabled(true);
endpagebutton.setEnabled(true);
}
}
);
previouspagebutton.addActionListener(newActionListener()
{
publicvoidactionPerformed(ActionEvente)
{
currentPageNumber--;
Vectordatavector=tablemodel.getDataVector();
DefaultTableModelnewmodel=newDefaultTableModel();
newmodel.setColumnIdentifiers(newObject[]{"序号","平方数"});
for(inti=0;i { newmodel.addRow((Vector)datavector.elementAt((int)(pagesize*(currentPageNumber-1)+i))); } table.setModel(newmodel); if(currentPageNumber==1) { homepagebutton.setEnabled(false); previouspagebutton.setEnabled(false); } thenextpagebutton.setEnabled(true); endpagebutton.setEnabled(true); } } ); thenextpagebutton.addActionListener(newActionListener() { publicvoidactionPerformed(ActionEvente) { currentPageNumber++; Vectordatavector=tablemodel.getDataVector(); DefaultTableModelnewmodel=newDefaultTableModel(); newmodel.setColumnIdentifiers(newObject[]{"序号","平方数"}); if(currentPageNumber==maxPageNumber) thenextpagebutton.setEnabled(false); endpagebutton.setEnabled(false); } else { for(inti=0;i newmodel.addRow((Vector)datavector.elementAt((int)(pagesize*(currentPageNumber-1)+i))); } table.setModel(newmodel); homepagebutton.setEnabled(true); previouspagebutton.setEnabled(true); } } ); endpagebutton.addActionListener(newActionListener() { publicvoidactionPerformed(ActionEvente) { currentPageNumber=maxPageNumber; Vectordatavector=tablemodel.getDataVector(); DefaultTableModelnewmodel=newDefaultTableModel(); newmodel.setColumnIdentifiers(newObject[]{"序号","平方"}); intendpagesize=(int)(tablemodel.getRowCount()-pagesize*(maxPageNumber-1)); if(endpagesize==5) { for(inti=0;i newmodel.addRow((Vector)datavector.elementAt((int)(pagesize*(maxPageNumber-1)+i))); } else { for(inti=0;i } table.setModel(newmodel); homepagebutton.setEnabled(true); previouspagebutton.setEnabled(true); thenextpagebutton.setEnabled(false); endpagebutton.setEnabled(false); } } ); frame.add(panel,BorderLayout.SOUTH); frame.setVisible(true); } } 4: 编译结果 首页 第二页 第三页 第四页
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 表格 分页 技术