(完整版)java打印机

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
importjavax。swing.JMenu;
importjavax。swing。JMenuBar;
importjavax。swing.JScrollPane;
importjavax.swing.KeyStroke;
publicclassPrinterDemoextendsJFrame{
privatestaticfinallongserialVersionUID=1L;
importjava.io.IOException;
importjava。util。Vector;
importjavax.swing。AbstractAction;
importjavax.swing。JComponent;
importjavax.swing。JFileChooser;
importjavax.swing。JFrame;
privatePageFormat pageFormat;
privateFilePageRenderer pageRenderer;
privateString title;
publicPrinterDemo(){
super();
init();
PrinterJob pj = PrinterJob。getPrinterJob();
pageFormat = pj.defaultPage();
setVisible(true);

protectedvoidinit()

setSize(350, 300);
center();
Container content = getContentPane();
content.setLayout(newBorderLayout());
importjava。awt。event。ActionEvent;
importjava.awt.event.KeyEvent;
importjava.awt.java。awt.event。WindowEvent;
importjava。awt。print.PageFormat;
JMenuBar mb =newJMenuBar();
JMenu file =newJMenu("File”,true);
file.add(newFileOpenAction()).setAccelerator(KeyStroke。getKeyStroke(KeyEvent。VK_O,Event。CTRL_MASK));
file。add(newFilePrintPreviwAction())。setAccelerator(KeyStroke。getKeyStroke(KeyEvent。VK_V, Event。ALT_MASK));
file.add(newFilePrintAction()).setAccelerator(KeyStroke.getKeyStroke(KeyEvent。VK_P,Event.CTRL_MASK));
file。add(newFilePageSetupAction())。setAccelerator(KeyStroke。getKeyStroke(KeyEvent.VK_P, Event。CTRL_MASK| Event。SHIFT_MASK));
file.addSeparator();
file.add(newFileQuitAction())。setAccelerator(KeyStroke.getKeyStroke(KeyEvent。VK_Q,
addWindowListener(newWindowAdapter()

publicvoidwindowClosing(WindowEvent e)
page.add(newPagePreviousPageAction())
。setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_PAGE_UP, 0));
mb。add(page);
setJMenuBar(mb);
getContentPane().setLayout(newBorderLayout());
importjava。awt.print。Printable;
importjava.awt.print.PrinterException;
importjava.awt。print.PrinterJob;
importjava.io。BufferedReader;
importjava。io。File;
importjava。io。FileReader;
importjava。awt。Container;
importjava.awt。Dimension;
importjava。awt.Event;
importjava.awt.Font;
importjava.awt.Graphics;
importjava。awt。Graphics2D;
importjava。awt.Toolkit;
Event。CTRL_MASK));
mb.add(file);
JMenu page =newJMenu(”Page”,true);
page。add(newPageNextPageAction())
.setAccelerator(KeyStroke。getKeyStroke(KeyEvent.VK_PAGE_DOWN, 0));
猪哥解答:
我这里有以前收藏的代码,两个类实现了简易的文本打印机的功能,包括预览。简单跟你说一下。
1、PrinterDemo.java主体类,也是入口类,里面有main方法可以直接在Eclipse中调试运行,他实现了从本地磁盘读取文本类文件打印以及打印预览的功能,其中File动作按钮中的PrintPreviw就是打印预览功能,你可以运行看看。
2、PrintPreview.java打印预览类,这是专门为预览打印设计的类,通过他的构造方法可以构造出一个预览类,PrinterDemo中的预览功能就是调用了这个类.
两个类的源码:
【PrinterDemo.java】的源码:
importjava。awt.BorderLayout;
importjava.awt.Color;
相关文档
最新文档