新手初学,关于绘图代码有一处未明,请教

问题描述

主要问题是,paintComponent这个函数不知道是怎么跑进去的,该怎么理解?望不吝赐教importjava.awt.*;importjava.awt.geom.*;importjavax.swing.*;publicclassMapextendsJFrame{publicMap(){super("Map");setSize(350,350);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);MapPanemap=newMapPane();add(map);setVisible(true);}publicstaticvoidmain(String[]arguments){Mapframe=newMap();}}classMapPaneextendsJPanel{publicvoidpaintComponent(Graphicscomp){Graphics2Dcomp2D=(Graphics2D)comp;comp2D.setColor(Color.blue);comp2D.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);Rectangle2D.Floatbackground=newRectangle2D.Float(0F,0F,(float)getSize().width,(float)getSize().height);comp2D.fill(background);//Drawwavescomp2D.setColor(Color.white);BasicStrokepen=newBasicStroke(2F,BasicStroke.CAP_BUTT,BasicStroke.JOIN_ROUND);comp2D.setStroke(pen);for(intax=0;ax<340;ax+=10)for(intay=0;ay<340;ay+=10){Arc2D.Floatwave=newArc2D.Float(ax,ay,10,10,0,-180,Arc2D.OPEN);comp2D.draw(wave);}//DrawFloridaGradientPaintgp=newGradientPaint(0F,0F,Color.green,350F,350F,Color.orange,true);comp2D.setPaint(gp);GeneralPathfl=newGeneralPath();fl.moveTo(10F,12F);fl.lineTo(234F,15F);fl.lineTo(253F,25F);fl.lineTo(12F,37F);fl.closePath();comp2D.fill(fl);//Drawovalscomp2D.setColor(Color.black);BasicStrokepen2=newBasicStroke();comp2D.setStroke(pen2);Ellipse2D.Floate1=newEllipse2D.Float(235,140,15,15);Ellipse2D.Floate2=newEllipse2D.Float(225,130,15,15);Ellipse2D.Floate3=newEllipse2D.Float(245,130,15,15);comp2D.fill(e1);comp2D.fill(e2);comp2D.fill(e3);}}

解决方案

解决方案二:
系统调用的,程序员不会直接调用这个函数。
解决方案三:
引用1楼Inhibitory的回复:

系统调用的,程序员不会直接调用这个函数。

原来如此……竟忘了先百度。多谢

时间: 2024-12-03 05:03:34

新手初学,关于绘图代码有一处未明,请教的相关文章

c语言-C2530单片机问题, 新手初学。寄存器相关

问题描述 C2530单片机问题, 新手初学.寄存器相关 小弟初学单片机,C2530..看了简介直接在网上找的试验在做, 在做 外部中断 试验的时,这个问题我还是搞不懂... ------------- 初始化的时候, P0SEL &= ~0x02; //设定P0_1为一般的IO口 P2SEL &= ~0x01; //设定P2_0为一般的IO口 为何不直接写出结果,也就是说直接写 P0SEL =0x00 //写出结果 P2SEL = 0; //甚至这样写 ------------------

软件测试-新手初学selenium,启动selenium server问题

问题描述 新手初学selenium,启动selenium server问题 启动selenium server的时候,使用命令:java -jar selenium-server-1.0.3.jar,总是提示unable to access selenium-server-1.0.3.jar,jre版本号为1.0.6,这是为什么呢?哪位大神给解决一下,谢谢了 解决方案 按照这个 一步步试一下: http://www.cnblogs.com/fnng/archive/2011/10/19/2217

java-JAVA新手求教一段代码的解释

问题描述 JAVA新手求教一段代码的解释 class StaticSuper{ static{ System.out.println("super static block") } StaticSuper{ System.out.println("super constructor"); } } public class StaticTests extends StaticSuper{ static int rand; static{ rand=(int)(Math

Hacking Team:核心代码和数据未泄露 一切尽在掌控

本周一Hacking Team公司发标声明:核心代码和数据未泄露,一切尽在掌控.即便他们的监控软件源代码泄露,强大的技术优势也不会因此改变. Hacking Team:泄露的都是"过时货" Hacking Team在声明中表示: "我们的核心代码在这次攻击事件中并不曾泄露,数据仍在我们的掌控之中.现如今,我们已经隔离了内部网络系统,外部攻进来是接触不到它的.我们正在试图建设一个全新的内部网络架构,以保证我们的数据安全." Hacking Team的CEO Vince

wpf-我想用Wpf钟表,但是我不会将表上的针的旋转角度在后台代码中修改,求大神指导,小弟初学,求代码

问题描述 我想用Wpf钟表,但是我不会将表上的针的旋转角度在后台代码中修改,求大神指导,小弟初学,求代码 老师要我们做一个旋转的时钟,初学有点懵懂,就是让时分秒针正常的按照系统时间来转动 解决方案 http://www.codeproject.com/Articles/29438/Analog-Clock-in-WPF

输入输出问题-大家给看一下,下面的一段代码,有一个问题请教大家

问题描述 大家给看一下,下面的一段代码,有一个问题请教大家 #include<iostream> #include<cstdio> #include<cstring> using namespace std; #define N 10 // 带编码字符的个数,即树中叶结点的最大个数 #define M (2*N-1) // 树中总的结点数目 class HTNode{ // 树中结点的结构 public: char data; int weight; int paren

优酷网遭故障临时无法访问 目前原因未明

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断淘宝客 站长团购 云主机 技术大厅 站长网admin5.com3月27日消息,今晚20点左右,有网友向站长网爆料,国内知名视频网站优酷网(http://www.youku.com/)无法访问.站长网编辑随即访问优酷网首页,发现网站已经跳转临时页面(http://www.youku.com/youku/youku.html),提示网站临时故障,截止22点,优酷网仍未恢复正

腾讯手机QQ昨日晚间出现收发异常 原因未明

腾讯手机QQ昨日晚间出现收发异常 原因未明1月23日消息,据 网友反映,昨日晚间22时左右,手机QQ出现部分用户消息无法发送与收取情况,iOS.Android及Windows Phone三大版本均受到影响.一个多小时之后恢复正常,但故障原因未明.从微博用户反馈 来看,这次受影响范围并不广泛,且发生于用户活跃度较低的晚间时分,因此并未引发大规模 意见及投诉.腾讯手机QQ官方微博在昨日23时30分发布微博,称已经恢复正常."亲爱的QQ用户:今晚有部分朋友反映手机QQ曾出现消息收发异常, 经过技术GG

富士康员工死因未明家属质疑“猝死”

富士康员工死因未明 家属质疑"猝死" 昨日,法医进行二次检查后表示死因不明,富士康悬赏50万找寻线索 核心提示:1月26日,马向前的家人和深圳宝安区松元派出所以及富士康方面达成一致,由松元派出所请宝安区刑侦大队的一名法医,在深圳市殡仪馆对马向前的尸体进行了二次检查. 每经记者 卢肖红 发自深圳 半年前,富士康员工孙丹勇因一部iPhone样机殒命:如今富士康员工马向前又离奇死亡. "法医说死因不明,这与富士康所称的'猝死'不符."昨日(1月26日),富士康猝死员工马向