Java - Рисование с помощью awt-пакета - PullRequest
0 голосов
/ 24 января 2012
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. *.Сообщение об ошибке:

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

Моя IDE - Eclipse, последняя версия, и при выполнении java -version в cmd у меня появляется "1.7.0_02".

Переменные среды:

Path:

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;.;

Classpath:

.;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 до этого).

Ответы [ 2 ]

2 голосов
/ 24 января 2012
  1. Не используйте доисторический Java AWT, используйте Swing JComponents .
  2. Чтение 2D-графика , есть примеры для подобной живописи.
0 голосов
/ 24 января 2012

Насколько я вижу, DrawFrame должен быть реализован вручную.Но это не совсем твоя проблема.Я вижу, что вы хотели бы познакомиться с Java, и вам нравится делать это с помощью реального кода.

Лично я изучил основы AWT / Swing через плагин Eclipse, который генерировал код для меня.Вы можете найти это здесь .Самая важная вещь, которую вы должны изучить, это разница между Контейнером и Компонентом и тем, как они складываются.Попробуйте создать простой апплет с панелью и несколькими кнопками, чтобы увидеть, как выглядит код.Оттуда сравнительно легко развиваться, потому что сгенерированный код очень хорошо структурирован и очень интуитивно понятен.

Я рекомендую более старую версию Eclipse для этого плагина - я помню, что Helios (3.6) добился цели.

Кроме того, если вы новичок в Java, API документы (или Javadoc) ваш лучший друг.Просто нажмите Ctrl + F вашего элемента AWT / Swing, чтобы увидеть методы, которые он делает доступными, и то, что они делают.

...