Исходный текст аплета LineDraw

Оглавление

События
Обработка событий
События от мыши
Аплет LineDraw
Исходный текст
Описание текста

## Исходный текст аплета LineDraw

Назад Вперед

Исходный текст аплета LieDrnaw вы найдете в листинге 1.

Листинг 1. Файл LieDrnaw.java

    import java.applet.*;
    import java.awt.*;
    import java.util.*;

    public class LineDraw extends Applet
    {
      Dimension dmDown;
      Dimension dmUp;
      Dimension dmPrev;
      boolean bDrawing;
      Vector lines;

      public String getAppletInfo()
      {
        return "Name: LineDraw";
      }

      public void init()
      {
        bDrawing = false;
        lines = new Vector();
      }

      public void paint(Graphics g)
      {
        Dimension dimAppWndDimension = getSize();

        setBackground(Color.yellow);
        g.setColor(Color.black);
        g.drawRect(0, 0,
          dimAppWndDimension.width  - 1,
          dimAppWndDimension.height - 1);

        for (int i=0; i < lines.size(); i++)
        {
          Rectangle p =
            (Rectangle)lines.elementAt(i);
          g.drawLine(p.width, p.height,
            p.x, p.y);
          g.drawString("<" + p.width
            + "," + p.height + ">",
            p.width, p.height);
          g.drawString("<" + p.x + "," +
            p.y+ ">", p.x, p.y);
        }
        bDrawing = false;
      }

      public boolean mouseDown(Event evt,
        int x, int y)
      {
        if(evt.clickCount > 1)
        {
          lines.removeAllElements();
          repaint();
          return true;
        }

        dmDown = new Dimension(x, y);
        dmPrev = new Dimension(x, y);
        bDrawing = false;
        return true;
      }

      public boolean mouseUp(Event evt,
        int x, int y)
      {
        if(bDrawing)
        {
          dmUp = new Dimension(x, y);
          lines.addElement(
            new Rectangle(dmDown.width,
            dmDown.height, x, y));
          repaint();
          bDrawing = false;
        }
        return true;
      }

      public boolean mouseDrag(Event evt,
        int x, int y)
      {
        Graphics g = getGraphics();
        bDrawing = true;

        g.setColor(Color.yellow);
        g.drawLine(dmDown.width, dmDown.height,
          dmPrev.width, dmPrev.height);

        g.setColor(Color.black);
        g.drawLine(dmDown.width,
          dmDown.height, x, y);

        dmPrev = new Dimension(x, y);
        return true;
      }

      public boolean mouseMove(Event evt,
        int x, int y)
      {
        bDrawing = false;
        return true;
      }
    }

Исходный текст документа HTML, подготовленного системой JavaWorkshop, представлен в листинге 2.

Листинг 2. Файл LineDraw.tmp.html

    <applet name="LineDraw"
      code="LineDraw"
      codebase=
    "file:/e:/Sun/Articles/vol5/src/LineDraw"
      width="500"
      height="600"
      align="Top"
      alt="If you had a java-enabled browser,
    you would see an applet here.">
    </applet>

Назад Вперед

Java | Продукты и решения | Технологии | Сервис и обучение
О компании | Партнеры | Новости | Поиск