写了一个画图形的程序,但画不出图形,请大家看看哪里错了?

社区
Java SE 帖子详情 写了一个画图形的程序,但画不出图形,请大家看看哪里错了? Raymond C WTsing 2010-05-04 10:56:43 源程序:
import java.awt.*;
import javax.swing.*;
import java.awt.geom.*;
public class Sign extends JFrame{
public Sign(){
super("Use of Compressed Air Prohibited");
setSize(410,435);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
SignPanel sp=new SignPanel();
add(sp);
setVisible(true);
}
public static void main(String[] arguments){
Sign sign=new Sign();
}
}
class SignPanel extends JPanel{
public void paintComponent(Graphics comp){
super.paintComponent(comp);
Graphics2D comp2D=(Graphics2D)comp;
comp2D.setColor(Color.white);
comp2D.fillRect(0,0,400,400);
comp2D.setColor(Color.red);
Ellipse2D.Float sign1=new Ellipse2D.Float(0F,0F,400F,400F);
comp2D.fill(sign1);
comp2D.setColor(Color.white);
Ellipse2D.Float sign2=new Ellipse2D.Float(55F,55F,290F,290F);
comp2D.fill(sign2);
comp2D.setColor(Color.black);
Ellipse2D.Float head=new Ellipse2D.Float(160F,96F,32F,32F);
comp2D.fill(head);
GeneralPath body=new GeneralPath();
body.moveTo(159F,162F);
body.lineTo(119F,303F);
body.lineTo(139F,303F);
body.lineTo(168F,231F);
body.lineTo(190F,303F);
body.lineTo(213F,303F);
body.lineTo(189F,205F);
body.lineTo(203F,162F);
body.lineTo(247F,151F);
body.lineTo(236F,115F);
body.lineTo(222F,118F);
body.lineTo(231F,140F);
body.lineTo(141F,140F);
body.lineTo(101F,190F);
body.lineTo(112F,197F);
body.lineTo(144F,162F);
body.closePath();
comp2D.fill(body);
comp2D.setColor(Color.black);
comp2D.fillRect(251,191,33,118);
comp2D.fillRect(262,160,13,31);
GeneralPath nozzle=new GeneralPath();
nozzle.lineTo(252F,176F);
nozzle.lineTo(262F,160F);
nozzle.lineTo(262F,176F);
nozzle.closePath();
comp2D.fill(nozzle);
comp2D.setColor(Color.black);
BasicStroke pen=new BasicStroke(2F);
comp2D.setStroke(pen);
Line2D.Float ln1=new Line2D.Float(203F,121F,255F,102F);
comp2D.draw(ln1);
Line2D.Float ln2=new Line2D.Float(255F,102F,272F,116F);
comp2D.draw(ln2);
Line2D.Float ln3=new Line2D.Float(272F,134F,252F,158F);
comp2D.draw(ln3);
comp2D.setColor(Color.red);
GeneralPath sign3=new GeneralPath();
sign3.moveTo(110F,78F);
sign3.lineTo(321F,289F);
sign3.lineTo(290F,317F);
sign3.lineTo(81F,107F);
sign3.closePath();
comp2D.fill(sign3);
}
}
在命令行里编译成class文件后,运行该程序时,出现下列异常;各位高手,请问怎样才能正常运行该程序呢?
Exception in thread "AWT-EventQueue-0" java.awt.geom.IllegalPathStateException:
missing initial moveto in path definition
at java.awt.geom.GeneralPath.needRoom(Unknown Source)
at java.awt.geom.GeneralPath.lineTo(Unknown Source)
at SignPanel.paintComponent(Sign.java:61)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JLayeredPane.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paintWithOffscreenBuffer(Unknown Source)
at javax.swing.JComponent.paintDoubleBuffered(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at java.awt.GraphicsCallback$PaintCallback.run(Unknown Source)
at sun.awt.SunGraphicsCallback.runOneComponent(Unknown Source)
at sun.awt.SunGraphicsCallback.runComponents(Unknown Source)
at java.awt.Container.paint(Unknown Source)
at sun.awt.RepaintArea.paintComponent(Unknown Source)
at sun.awt.RepaintArea.paint(Unknown Source)
at sun.awt.windows.WComponentPeer.handleEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
...全文
224 9 打赏 收藏 写了一个画图形的程序,但画不出图形,请大家看看哪里错了? 源程序: import java.awt.*; import javax.swing.*; import java.awt.geom.*; public class Sign extends JFrame{ public Sign(){ super("Use of Compressed Air Prohibited"); setSize(410,435); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); SignPanel sp=new SignP 复制链接
扫一扫 分享 转发到动态 举报 AI 作业
写回复 配置赞助广告取 消
确 定
用AI写文章 9 条回复 切换为时间正序 请发表友善的回复… 发表回复 打赏红包 需支付: 0.00 元 取 消 确 定 Raymond C WTsing 2010-05-04 打赏举报 回复 谢谢啦! 叶赫那拉建国 2010-05-04 打赏举报 回复 用moveTo 是设置起点
用lineTo 是设置终点 Raymond C WTsing 2010-05-04 打赏举报 回复 就是这个图,原来之前敲代码的时候把moveTo敲成lineTo了。 Raymond C WTsing 2010-05-04 打赏举报 回复 在nozzle.lineTo(252F,176F);之前加上一个moveTo就行了,谢谢你。
但是为什么加句moveTo就行了呢? 叶赫那拉建国 2010-05-04 打赏举报 回复
是这个样子的图么? 如果是的话
大概在61行的样子
加上nozzle.lineTo(x,y); Raymond C WTsing 2010-05-04 打赏举报 回复 请问在命令行里怎样进行断点调试?本人刚开始学java,只是在记事本里敲代码。 叶赫那拉建国 2010-05-04 打赏举报 回复 在nozzle.lineTo(252F,176F);之前加上一个moveTo试试。。 fengboxjtu556 2010-05-04 打赏举报 回复 断点调试一下吧 Raymond C WTsing 2010-05-04 打赏举报 回复 异常信息还没完,现补充如下:
Exception in thread "AWT-EventQueue-0" java.awt.geom.IllegalPathStateException:
missing initial moveto in path definition
at java.awt.geom.GeneralPath.needRoom(Unknown Source)
at java.awt.geom.GeneralPath.lineTo(Unknown Source)
at SignPanel.paintComponent(Sign.java:61)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JLayeredPane.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintWithOffscreenBuffer(Unknown Source)
at javax.swing.JComponent.paintDoubleBuffered(Unknown Source)
at javax.swing.JComponent._paintImmediately(Unknown Source)
at javax.swing.JComponent.paintImmediately(Unknown Source)
at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(Unknow
n Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Exception in thread "AWT-EventQueue-0" java.awt.geom.IllegalPathStateException:
missing initial moveto in path definition
at java.awt.geom.GeneralPath.needRoom(Unknown Source)
at java.awt.geom.GeneralPath.lineTo(Unknown Source)
at SignPanel.paintComponent(Sign.java:61)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JLayeredPane.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintWithOffscreenBuffer(Unknown Source)
at javax.swing.JComponent.paintDoubleBuffered(Unknown Source)
at javax.swing.JComponent._paintImmediately(Unknown Source)
at javax.swing.JComponent.paintImmediately(Unknown Source)
at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(Unknow
n Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Exception in thread "AWT-EventQueue-0" java.awt.geom.IllegalPathStateException:
missing initial moveto in path definition
at java.awt.geom.GeneralPath.needRoom(Unknown Source)
at java.awt.geom.GeneralPath.lineTo(Unknown Source)
at SignPanel.paintComponent(Sign.java:61)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JLayeredPane.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paintWithOffscreenBuffer(Unknown Source)
at javax.swing.JComponent.paintDoubleBuffered(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at java.awt.GraphicsCallback$PaintCallback.run(Unknown Source)
at sun.awt.SunGraphicsCallback.runOneComponent(Unknown Source)
at sun.awt.SunGraphicsCallback.runComponents(Unknown Source)
at java.awt.Container.paint(Unknown Source)
at javax.swing.JFrame.update(Unknown Source)
at sun.awt.RepaintArea.updateComponent(Unknown Source)
at sun.awt.RepaintArea.paint(Unknown Source)
at sun.awt.windows.WComponentPeer.handleEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source) 自学了那么久的C/C++,为什么仍写不出项目? 前言
现在大学里基本都开设了计算机课程,看了那么多技术书,但学了四年出来,仍然写不出项目,这其实是有原因的。
那我们来看看真正的C/C++应该是怎样学习?
一. C/C++语言
如果你的基础很差, 要从C开始学起,对程序有个初步的认识,循序渐进。C语言的书可以先买一本 300 页以内的,把书中的每一个例子都通过键盘敲打进去到 Visual studio里面去,然后单步执行,逐行调试去看各个变量的值。或者自行添加一些printf语句去输出变量的值。这样当你看完一本书后, 你就有编写小程序的感觉了。
接下来你就 python画螺旋状图形教程_如何快速绘制一个“螺旋状”图形? 恭喜你完成了2016年所有的法定节假日,今天又是重阳节,老人都是需要“哄”的,大家赶紧行动起来哟,电话打起来。这是节前小伙伴留下的PPT问题,牛闪闪和大家一起来探讨一下。 场景:公司需要PPT螺旋绘制设计的办公人士。问题:如何快速绘制一个“螺旋状”图形?解答:利用PPT的弧形工具搞定!为什么这个问题的螺旋状会打上引号,是因为PPT是画不出标准的螺旋形,所谓标准的螺旋形一定是类似机械制图那种弧度非常... HighCharts图表插件画不出图形的解决方法 之前在项目中使用到了HighCharts V2.0版,JQuery1,4,1 ,在页面中妥妥的画出了数据柱状图。
可是后来将JQuery升级到1.9之后,HighCharts 画出了没有颜色的柱状图,也就是柱子看不到,但是数据是在的。
找了很久都找不到原因所在,之后索性将HighCharts 升级到了3.0,就妥妥的解决问题了0.0 。
目测是HighCharts 2.0对JQuery1.9 stata软件不出图_Stata软件的图形绘制—2 查看可用图形格式的stata命令如下:graphquery,schemes设定图形格式的stata命令如下(如将经济学人杂志格式设为默认):set scheme economist, permanently其中,逗号后面的选项permanently(可选)的意思是将格式永久设置为该格式,直到用户重新设定其他图形格式为止。如果想要恢复图形的默认格式)(s2color), stata 命令如下:set... 【openGL基础系列】之画一个正方体玩玩吧 【openGL基础系列】之画一个正方体玩玩吧
大家好,我是Lampard~~
欢迎来到openGL基础系列的博客
今天讲的是如何在openGL中画一个正方体
前言:大家都知道,一个正方体包括六个面 ,十二条线。所以我们创造一个正方体的时候既可以使用线的组合,也可以用面的组合来表示。为了让我们更加直观的看到这个正方体,我还在博客上参考了别人的算法,让整个正方体转起来。话不多说我们来看看代码和成品图吧:
1. 构建...
Java SE
62,634
社区成员
307,269
社区内容
发帖 与我相关 我的任务 Java SE Java 2 Standard Edition 复制链接
扫一扫 分享 确定 社区描述 Java 2 Standard Edition 社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告 试试用AI创作助手写篇文章吧
+ 用AI写文章