Электронная библиотека книг Александра Фролова и Григория Фролова.
Shop2You.ru Создайте свой интернет-магазин
Библиотека
Братьев
Фроловых
[Назад]

Исходный текст программы EventProcFrame.java

Оглавление

Назад

// ==========================================
// EventProcFrame.java
// (C) Alexandr Frolov, 1998
// E-mail: frolov@glasnet.ru
// Web:    http://www.glasnet.ru/~frolov 
// ==========================================

import java.awt.*;

// =======================================
// ConsFrame
// =======================================
public class EventProcFrame
{
  public static void main(String args[])
  {
    FrameWindow frame;
    
    frame =  new FrameWindow("Frame window");
    frame.show();
  }
}

// =======================================
// FrameWindow
// =======================================
class FrameWindow extends Frame
{
  Event ev = null;

  public FrameWindow(String szTitle)
  {
    super(szTitle);
    resize(350, 200);
    setBackground(Color.white);
    setForeground(Color.black);
  }

  public void paint(Graphics g)
  {
    if(ev != null)
    {
      g.drawString("[" + ev.x +
        "," + ev.y + "]", ev.x, ev.y);
    }
    
    super.paint(g);
  }
  
  public boolean handleEvent(Event evt)
  {
    if(evt.id == Event.WINDOW_DESTROY)
    {
      setVisible(false);
      System.exit(0);
      return true;
    }
    
    else if(evt.id == Event.MOUSE_DOWN)
    {
      ev = evt;
      repaint();
      return true;
    }
    
    else if(evt.id == Event.MOUSE_ENTER)
    {
      setBackground(Color.yellow);
      repaint();
      return true;
    }
    
    else if(evt.id == Event.MOUSE_EXIT)
    {
      setBackground(Color.white);
      repaint();
      return true;
    }
    else
      return super.handleEvent(evt);
  }
}

[Назад]