2012-01-24 2 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. * - package를 가져옵니다. 오류 메시지는 다음과 같습니다자바 - 그리기 awt - 패키지

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

내 IDE 이클립스, 최신 버전 및 cmd를 자바 -version을 할 때 나는 "1.7.0_02"가있다.

하여 환경 :

경로 :

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이 문제인 것 같습니다. 제가 누락 된 패키지입니까? 나는 다른 프로그램을 컴파일 할 수 있기 때문에 environmentvars를 믿지 않는다. Java는 많은 문제 (파이썬 만 프로그래밍했습니다. & Scheme befor).

+0

어디에서'DrawPanel'을 가져 왔습니까? 'DrawFrame'은 같은 API에 있어야합니다. –

답변

2
  1. 선사 시대 자바 AWT 사용 Swing JComponents을 사용하지 마십시오.
  2. 2D Graphics을 읽고 비슷한 그림을 보여주는 예제가 있습니다.
+0

@Andrew Thompson 어째서 나는 어때? Russel Winder & Graham Roberts가 저술 한 책 "Developing Java Software (3rd ed)"에서 2D 그래픽 예제를 읽습니다. 내 과정의 선생님은 JComponents가 동일하지 않으므로 java와 .awt를 읽어야한다고 말합니다. – Dannzor

+0

@ user1160248 질문에 답변 한 mKorbel에게 의견을 보내주십시오. 나는 방금 그 대답을 편집했다 (그리고 조언을 옹호했다). ;) –

+0

@ user1160248 aslong as JComponents are not same. 사실이 아니지만, AWT를 사용해야한다면, 튜토리얼을 읽고 튜토리얼에서 AWT로 스윙 예제를 변환하고, import 또는 JComponent 정의에서 모든 J를 제거하고 변경한다. – mKorbel

0

필자가 볼 수있는 한, DrawFrame은 수동으로 구현해야합니다. 그러나 그것은 당신의 문제가 아닙니다. 자바에 익숙해지기를 원하고 실제 코드를 통해 그렇게하고 싶다는 것을 알 수 있습니다.

개인적으로 필자는 나를위한 코드를 생성 한 이클립스 플러그인을 통해 기본적인 AWT/스윙을 배웠다. 너는 그것을 찾을 수 here. 배워야 할 가장 중요한 것은 컨테이너와 구성 요소의 차이점과 컨테이너의 구성 요소 간의 차이입니다. 패널과 몇 개의 버튼이있는 간단한 애플릿을 만들어 코드가 어떻게 보이는지보십시오. 생성 된 코드가 매우 잘 구조화되고 매우 직관적이기 때문에 거기에서 진화하는 것이 상대적으로 쉽습니다.

이 플러그인에 대한 이클립스의 이전 버전을 권장합니다. Helios (3.6)가 트릭을했음을 기억합니다.

또한 Java를 처음 사용하는 경우 API docs (또는 Javadoc)이 가장 친한 친구입니다. AWT/Swing 요소를 Ctrl + F로 눌러서 사용할 수있는 메소드와 기능을 확인하십시오.