CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2SE / 基础类

[源码分析]:能给我解释一下这段代码否?

楼主dytsoft(易韬)2002-09-19 12:12:36 在 Java / J2SE / 基础类 提问

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;  
        }  
  就是标记????的两个地方!  
  一个地方20分!  
  [金牌承诺]在线等待,解决放分  
  问题点数:40、回复次数:5Top

1 楼dytsoft(易韬)回复于 2002-09-19 12:13:21 得分 0

希望得到详细的解释,以点带面!Top

2 楼qxjavajava(射手座 =--->静静看那流光飞舞)回复于 2002-09-19 12:24:03 得分 10

The   PrinterException    
  class   and   its   subclasses   are   used   to   indicate   that   an   exceptional   condition   has   occurred   in   the   print   system.    
   
  This   Graphics2D    
  class   extends   the   Graphics   class   to   provide   more   sophisticated   control   over   geometry,   coordinate   transformations,   color   management,   and   text   layout.   This   is   the   fundamental   class   for   rendering   2-dimensional   shapes,   text   and   images   on   the   Java(tm)   platform.    
   
  Top

3 楼bluemeteor(挂月||Becoder)回复于 2002-09-19 13:21:48 得分 15

throws   PrinterException语句负责抛出一个关于打印的异常错误  
   
  也就是你的代码可能会出现一些未知的情况导致你无法打印,通过这种捕获异常来保护代码  
   
  Graphics2D   g2   =   (Graphics2D)g     通过将参数g转化为Graphics2D类型来创建一个新的Graphics2D实例g2Top

4 楼WQmeng(我曾经忍耐,我如此等待,也许在等你到来)回复于 2002-09-19 14:16:58 得分 15

throws   PrinterException把PrinterException异常向上抛出,抛给了这个方法的调用者,就是说public   int   print(Graphics   g,   PageFormat   pf,   int   page)这个方法会引发一个PrinterException异常,而你在这个方法体中没有捕捉它(try   catch),就是没有对它处理,Java为了代码的安全和稳定,要求编程者必须对异常做出处理,所以如果你不在方法体中处理,就必须显示的抛出(用throws语句),同样在此方法调用者中,如果你仍然不处理,则必须继续向上抛出此异常,直到你处理了为止,如果你一直没有处理最终,异常将会被抛到main(即程序入口)方法中,当然你还可以把它抛出,那么它就由JVM处理了:)。  
  一般处理异常有两种不同的思路:第一个是就近处理,哪抛出异常,就在那处理。  
  第二个是集中处理,就是把异常都向上抛出,在适当的地方用try加多个catch,集中处理。Top

5 楼dytsoft(易韬)回复于 2002-09-19 15:21:56 得分 0

基本理解  
  给分!Top

相关问题

  • [源码分析]:怎么理解下面的代码的作用?
  • Interbase源码分析
  • 帮忙解释段代码
  • 解释代码
  • 请解释这段代码,谢谢
  • 请解释这段代码?谢谢
  • 谁能解释以下这段代码
  • 帮我解释一下这段代码
  • 帮忙解释下段代码!
  • 谁给解释一下这段代码?

关键词

  • 代码
  • printerexception
  • graphics2d
  • pf
  • 处理
  • 异常
  • 方法
  • graphics
  • 地方
  • throws

得分解答快速导航

  • 帖主:dytsoft
  • qxjavajava
  • bluemeteor
  • WQmeng

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo