2012-01-24 49 views
-1
public class DrawLine extends DrawPanel{ 
public DrawLine(){} 
public void paint (final Graphics g){ 
    final Graphics2D g2d = (Graphics2D) g; 
    final Line2D aLine = new Line2D.Double(10 , 10 , 70 , 70); 
    g2d.draw(aLine); 
} 
public static void main (final String[] args){ 
    DrawFrame.display ("DrawLine" , new DrawLine()); 
}} 

这是我的代码,我正在导入整个java.awt。* - 包。 的错误信息是:Java - 使用awt -pack进行绘图

Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
DrawFrame cannot be resolved 
    at DrawLine.main(DrawLine.java:11) 

我的IDE就是Eclipse,最新版本,并在cmd中做Java的版本时,我有 “1.7.0_02”。

Environmentvariables:

路径:

C:\Users\Administrator\Desktop\Java Work;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;c:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files (x86)\Common Files\Roxio Shared\DLLShared\;C:\Program Files (x86)\Common Files\Roxio Shared\OEM\DLLShared\;C:\Program Files (x86)\Common Files\Roxio Shared\OEM\DLLShared\;C:\Program Files (x86)\Common Files\Roxio Shared\OEM\12.0\DLLShared\;C:\Program Files (x86)\Roxio\OEM\AudioCore\;C:\Program Files (x86)\QuickTime\QTSystem\;C:\Program Files\Java\jdk1.7.0_02\bin;.; 

类路径:

.;C:\Program Files (x86)\Java\jre6\lib\ext\QTJava.zip;C:\Program Files (x86)\Java\jre6\bin;C:\Users\Administrator\Desktop\Java Work;.; 

简单的程序,如输入输出,你好世界,计算工作。我试图制作大量的图形程序,看起来DrawFrame是个问题。它是我失踪的一些包吗?因为我可以编译其他程序,所以我不相信它的环境变量 - java非常麻烦(我只在Python & Scheme中编程)。

+0

你从哪里得到'DrawPanel'?看起来'DrawFrame'应该在同一个API中。 –

回答

2
  1. 不要使用史前Java AWT使用Swing JComponents代替。
  2. 阅读2D Graphics,有类似的绘画的例子。
+0

@安德鲁·汤普森 我怎么不是最喜欢的? 我正在阅读由Russel Winder&Graham Roberts编写的“开发Java软件(第3版)”一书中的2D Graphic示例。 我的课程的老师说我们应该阅读关于java .awt,以便JComponents不完全相同我需要使用它。 – Dannzor

+0

@ user1160248您应该将您的评论引导至回答问题的mKorbel。我只是编辑了答案(并且提出了建议)。 ;) –

+0

@ user1160248'只要JComponents不是相同的',但如果需要使用AWT,那么使用它,阅读教程并尝试将教程中的Swing示例转换为AWT,删除导入或JComponent定义中的所有J并更改方法paintComponent()绘制() – mKorbel

0

就我所见,DrawFrame需要手动实现。但那不是你的问题。我可以看到你想熟悉Java,并且喜欢通过实际的代码来完成。

就我个人而言,我通过一个为我生成代码的Eclipse插件学习了基本的AWT/Swing。你可以找到它here。你需要学习的最重要的事情是容器和组件之间的区别以及它们如何相加。尝试使用面板和几个按钮来制作简单的Applet,以查看代码的外观。从那里发展起来相对容易,因为生成的代码结构非常好,非常直观。

我推荐Eclipse的老版本插件 - 我记得Helios(3.6)做的伎俩。

此外,如果您是Java新手,API docs(或Javadoc)是您最好的朋友。只需Ctrl + F查看您的AWT/Swing元素即可查看它提供的方法以及它们的功能。