Оглавление

События
Обработка событий
События от мыши
Аплет 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 | Продукты и решения | Технологии | Сервис и обучение
О компании | Партнеры | Новости | Поиск
Sun Microsystems Inc. Corporate Information Our partners News and Events Search on site Java Computing Products and Solutions Technologies and Researches Education and Service Content



Сайт создан в системе uCoz