showpage.java代码_ShowRecordByPage.java

package com.srj.text; import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import com.sun.rowset.CachedRowSetImpl; public class ShowRecordByPage { int pageSize=10; //每页显示的记录数 int pageAllCount=0; //分页后的总页数 int showPage=1; //当前显示页 StringBuffer presentPageResult;  //显示当前页内容 CachedRowSetImpl rowSet; //用于存储ResultSet对象 String databaseName=""; //数据库 String tableName=""; //表的名字 String user=""; //用户 String password=""; //密码 String field[]=new String[100]; //存储表中的属性名 int fieldNum=0; //字段(属性)个数 public ShowRecordByPage() { presentPageResult=new StringBuffer(); try { Class.forName("com.mysql.jdbc.Driver"); } catch (Exception e) { e.printStackTrace(); } } public void setPageSize(int size){ pageSize=size; fieldNum=0; String uri="jdbc:mysql://localhost/"+databaseName; try { Connection con=DriverManager.getConnection(uri, user, password); DatabaseMetaData metaData=con.getMetaData(); ResultSet rs1=metaData.getColumns(null, null, tableName, null); int k=0; while(rs1.next()){ fieldNum++; field[k]=rs1.getString(4);    //获取字段名称 k++; } Statement sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY); ResultSet rs=sql.executeQuery("select * from "+tableName); rowSet=new CachedRowSetImpl();   //创建行集对象 rowSet.populate(rs); con.close(); //关闭连接 rowSet.last(); int m=rowSet.getRow(); //总行数 int n=pageSize; pageAllCount=((m%n)==0)?(m/n):(m/n+1); } catch (Exception e) { e.printStackTrace(); } } public int getShowPage() { return showPage; } public void setShowPage(int showPage) { this.showPage = showPage; } public String getDatabaseName() { return databaseName; } public void setDatabaseName(String databaseName) { this.databaseName = databaseName; } public String getTableName() { return tableName; } public void setTableName(String tableName) { this.tableName = tableName; } public String getUser() { return user; } public void setUser(String user) { this.user = user; } public int getPageSize() { return pageSize; } public int getPageAllCount() { return pageAllCount; } public void setPresentPageResult(StringBuffer presentPageResult) { this.presentPageResult = presentPageResult; } public void setPassword(String password) { this.password = password; } public StringBuffer getPresentPageResult() { if(showPage>pageAllCount) showPage=1; if(showPage<=0) showPage=pageAllCount; presentPageResult=show(showPage); return presentPageResult; } public StringBuffer show(int showPage2) { StringBuffer str=new StringBuffer(); str.append("

"+rowSet.getString(k)+"
"); return str; } }
您好!以下是Java实现file转PDF预览的代码: ``` import java.awt.BorderLayout; import java.awt.Container; import java.awt.Dimension; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.RenderingHints; import java.awt.geom.Rectangle2D; import java.awt.print.PageFormat; import java.awt.print.Paper; import java.awt.print.Printable; import java.awt.print.PrinterException; import java.awt.print.PrinterJob; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import javax.swing.JFrame; import javax.swing.JPanel; import com.sun.pdfview.PDFFile; import com.sun.pdfview.PDFPage; import com.sun.pdfview.PagePanel; public class PDFConverter { public static void main(String[] args) { JFrame frame = new JFrame("File to PDF Preview"); try { File file = new File("test.pdf"); FileInputStream fis = new FileInputStream(file.getAbsolutePath()); PDFFile pdfFile = new PDFFile(fis); PDFPrintPage pages = new PDFPrintPage(pdfFile); frame.add(pages); frame.pack(); frame.setVisible(true); } catch (FileNotFoundException e) { e.printStackTrace(); } } static class PDFPrintPage extends JPanel implements Printable { private static final long serialVersionUID = 1L; private PDFFile file; private int pageIndex = 0; public PDFPrintPage(PDFFile file) { this.file = file; setPreferredSize(new Dimension(800, 1000)); } @Override public int print(Graphics g, PageFormat format, int pageIndex) { if (pageIndex >= file.getNumPages()) { return NO_SUCH_PAGE; } Graphics2D g2 = (Graphics2D) g; PDFPage page = file.getPage(pageIndex + 1); double pwidth = format.getImageableWidth(); double pheight = format.getImageableHeight(); double aspect = page.getAspectRatio(); double paperAspect = pwidth / pheight; double scaleFactor = 1.0; if (aspect > paperAspect) { // The PDF aspect ratio is wider than the paper aspect scaleFactor = pwidth / page.getWidth(); } else { // The PDF aspect ratio is taller than the paper aspect scaleFactor = pheight / page.getHeight(); } g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); g2.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BICUBIC); g2.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY); double cx = (format.getImageableX() + format.getWidth()) / 2.0; double cy = (format.getImageableY() + format.getHeight()) / 2.0; Rectangle2D rect = page.getBBox(); rect.setRect(rect.getX() * scaleFactor + cx - (page.getWidth() * scaleFactor) / 2.0, rect.getY() * scaleFactor + cy - (page.getHeight() * scaleFactor) / 2.0, rect.getWidth() * scaleFactor, rect.getHeight() * scaleFactor); PagePanel panel = new PagePanel(); panel.showPage(page); try { panel.print(g); } catch (PrinterException e) { e.printStackTrace(); } pageIndex++; return PAGE_EXISTS; } } } ``` 希望对您有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值