⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 java连接打印机.txt

📁 简单的系统
💻 TXT
字号:
 /**   
    *   @version   1.00   1999-09-11   
    *   @author   Cay   Horstmann   
    */   
    
  import   java.awt.*;   
  import   java.awt.event.*;   
  import   java.awt.font.*;   
  import   java.awt.geom.*;   
  import   java.awt.print.*;   
  import   java.util.*;   
  import   javax.swing.*;   
    
  public   class   PrintTest   
  {     public   static   void   main(String[]   args)   
        {     JFrame   frame   =   new   PrintTestFrame();   
              frame.show();   
        }   
  }   
    
  class   PrintTestFrame   extends   JFrame   
        implements   ActionListener   
  {     public   PrintTestFrame()   
        {     setTitle("PrintTest");   
              setSize(300,   300);   
              addWindowListener(new   WindowAdapter()   
                    {     public   void   windowClosing(WindowEvent   e)   
                          {     System.exit(0);   
                          }   
                    }   );   
    
              Container   contentPane   =   getContentPane();   
              canvas   =   new   PrintPanel();   
              contentPane.add(canvas,   "Center");   
    
              JPanel   buttonPanel   =   new   JPanel();   
              printButton   =   new   JButton("Print");   
              buttonPanel.add(printButton);   
              printButton.addActionListener(this);   
    
              pageSetupButton   =   new   JButton("Page   setup");   
              buttonPanel.add(pageSetupButton);   
              pageSetupButton.addActionListener(this);   
    
              contentPane.add(buttonPanel,   "North");   
        }   
    
        public   void   actionPerformed(ActionEvent   event)   
        {     Object   source   =   event.getSource();   
              if   (source   ==   printButton)   
              {     PrinterJob   printJob   =   PrinterJob.getPrinterJob();   
                    if   (pageFormat   ==   null)   
                          pageFormat   =   printJob.defaultPage();   
                    printJob.setPrintable(canvas,   pageFormat);   
                    if   (printJob.printDialog())   
                    {     try   
                          {     printJob.print();   
                          }   
                          catch   (PrinterException   exception)   
                          {     JOptionPane.showMessageDialog(this,   exception);   
                          }   
                    }   
              }   
              else   if   (source   ==   pageSetupButton)   
              {     PrinterJob   printJob   =   PrinterJob.getPrinterJob();   
                    if   (pageFormat   ==   null)   
                          pageFormat   =   printJob.defaultPage();   
                    pageFormat   =   printJob.pageDialog(pageFormat);   
              }   
        }   
    
        private   JButton   printButton;   
        private   JButton   pageSetupButton;   
    
        private   PrintPanel   canvas;   
        private   PageFormat   pageFormat;   
  }   
    
  class   PrintPanel   extends   JPanel   
        implements   Printable   
  {     public   void   paintComponent(Graphics   g)   
        {     super.paintComponent(g);   
              Graphics2D   g2   =   (Graphics2D)g;   
              drawPage(g2);   
        }   
    
        public   int   print(Graphics   g,   PageFormat   pf,   int   page)   
              throws   PrinterException   
        {     if   (page   >=   1)   return   Printable.NO_SUCH_PAGE;   
              Graphics2D   g2   =   (Graphics2D)g;   
              g2.setPaint(Color.black);   
              g2.translate(pf.getImageableX(),   pf.getImageableY());   
              g2.draw(new   Rectangle2D.Double(0,   0,   
                    pf.getImageableWidth(),   pf.getImageableHeight()));   
    
              drawPage(g2);   
              return   Printable.PAGE_EXISTS;   
        }   
    
        public   void   drawPage(Graphics2D   g2)   
        {     FontRenderContext   context   =   g2.getFontRenderContext();   
              Font   f   =   new   Font("Serif",   Font.PLAIN,   72);   
              GeneralPath   clipShape   =   new   GeneralPath();   
    
              TextLayout   layout   =   new   TextLayout("Hello",   f,   context);   
              AffineTransform   transform   
                    =   AffineTransform.getTranslateInstance(0,   72);   
              Shape   outline   =   layout.getOutline(transform);   
              clipShape.append(outline,   false);   
    
              layout   =   new   TextLayout("World",   f,   context);   
              transform   
                    =   AffineTransform.getTranslateInstance(0,   144);   
              outline   =   layout.getOutline(transform);   
              clipShape.append(outline,   false);   
    
              g2.draw(clipShape);   
              g2.clip(clipShape);   
    
              final   int   NLINES   =50;   
              Point2D   p   =   new   Point2D.Double(0,   0);   
              for   (int   i   =   0;   i   <   NLINES;   i++)   
              {     double   x   =   (2   *   getWidth()   *   i)   /   NLINES;   
                    double   y   =   (2   *   getHeight()   *   (NLINES   -   1   -   i))   
                          /   NLINES;   
                    Point2D   q   =   new   Point2D.Double(x,   y);   
                    g2.draw(new   Line2D.Double(p,   q));   
              }   
        }   
  }   

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -