还是写点东西吧

原创 2007年09月23日 01:33:00

本来今天做的事不是很多的,但想了想还是写一点点东西吧

今天做什么了,脑子真乱现在.啊   好象下午过后没有作实质性开发的东西,上午只是认真的作好了要交上去的文档,弄的我都恶心了,现在做的只是让人反感,其实困难的还在后面,就是现在梦作的的那部分,有很多的JAVA语句还没有整太明白 ,所以 为了赶进度,真的要.......呵呵  希望我的电脑能给我最大的支持,呵呵,这样我才能...哈哈

今天读了一端关于打印机的代码,虽说还不能自己写,也不是了解的很透彻  但还是希望能和来这里的人共享这段代码吧,这段代码是网上一兄弟提供的  不是我写的啊  就一起来学一下吧,算是关于打印机比较标准的了

 

/*
 * Main.java
 *
 * Created on 2007年9月22日, 上午10:34
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package javaapplication4;

  /**  
    *   @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   Main  
  {     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));  
              }  
        }  
  } 

 

我只改动了一小点点,"版权"是网上那哥们的啊   哈哈  共同学一下吧  呵呵

加油!

相关文章推荐

想写点啥东西

有好长一段时间了,午休时间要么在玩游戏,要么在睡梦中玩游戏。不过今天不想这样了,想写点东西,尽管没想好写什么呢,但是只要肯动笔就一定有话可说。 半年来除了工作,大部分时间交给了王者荣耀这款游戏,可能...

突然想写点东西

从四月底到现在,几乎没有特别闲下来的时候吧,不管是班级、学习、生活还是家里,一件事一件事压得我感觉喘不过气来,以至于睡眠对我来说也显得那么不重要,日夜颠倒。。。不过总算是迎来期末考试周,有必要对这些繁...
  • hxllhhy
  • hxllhhy
  • 2017年07月04日 13:33
  • 153

开博第一天,想写点有意义的东西!

java版,完结随笔

毕业两年了,作为一个技术工程师,应该写点东西,做点笔记顺便留些回忆。

毕业两年了,作为一个技术工程师,应该写点东西,做点笔记顺便留些回忆。 这两年来实际真真做的产品级的项目基本上没有,都是些小项目,写个程序跑跑。现在回过头来看,实在是空落落的,到底怎么过来的。 自己...

无聊,写点基础的东西。

求一的阶层加到n的阶层(n最大20,再大就无法表示了。) #include int main() { __int64 n; while(~scanf("%I64d",&n)&&n) { ...

用,但我并不沉迷于此。偶尔我会写点训练情况、自己的情绪以及训练之余的东西和大家分享

国际奥委会专访王皓:偶像就一个 大满贯意味什么 http://sports.sina.com.cn  2011年12月31日11:32  新浪体育微博 《奥林匹克评论》网页截屏   新浪体育讯 ...

从今天开始起写点东西

从今天开始起写点东西本人玩软件开发以及破解也有2,3年了。这倒是一个非常尴尬的时候,能力不算好,也不算坏。解决不来实际问题,只能自己偷着乐一下。 到目前为止,我最大的感触就是中国的破解圈子不好混,最大...
  • currwin
  • currwin
  • 2016年10月08日 12:54
  • 96

写点东西

写点东西吧      最近读了些人物传记,包括物理学家,文学家,音乐家,互联网创始人等等。 他们有一个共同点:码字。文学家,诗人对于写作是必然的;物理学家总是在推导方程;音乐家总是尝试并记录一些音符;...

每天都写点东西出来 -- 第 1 天

ViewScrollView,是什么来的?这个啊,其实很简单的一回事。首先这货是基于 UIScrollView 的,然后前面的 View 是表面把任何 View 类型的对象加载到 UIScrollVi...

给自己定个小目标:每天写点东西

现在很是浮躁,很少能够静下心来写点东西,更多的是被网络的数据洪流侵蚀着,找不到方向。 互联网时代,我们缺的不是各种各样的资源,而是互联网中海量的资源涌入到我们身边,让我们不知道如何去选择。很多信...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:还是写点东西吧
举报原因:
原因补充:

(最多只允许输入30个字)