Динамично отчитане на координати в applet

Демо

/*Чрез MouseMotionListener, ще направим програма,
която да отчита всяко движение на курсора и да извежда
неговите координати докато е в полета на applet . 
Ще направим един квадрат, който ще е зелен и 
ако излезне от него курсора, ще стане червен. 
*/ 
 
import java.awt.*; 
import java.applet.*; 
// Вмъкваме клас за MouseMotionListener 
import java.awt.event.*; 
 
// Казва на applet, че ще използваме MouseMotionListener методи. 
 
public class MouseMotionExample extends Applet implements MouseMotionListener 
{ 
 // Взима x и y координатите на курсора. 
     int xpos; 
     int ypos; 
 
     int rect1xco,rect1yco,rect1width,rect1height; 
 
 // Ще е true, когато курсора е в квадрата 
     boolean rect1Active; 
 
     public void init()  
     { 
 
          rect1xco = 20; 
          rect1yco = 20; 
          rect1width =100; 
          rect1height= 50; 
 
  // Добавя the MouseMotionListener в нашия applet 
      addMouseMotionListener(this); 
     } 
 
     public void paint(Graphics g)  
     { 
  // Цвят на квадрата, 
  // ако курсора е в квадрата е зелен,
  // а ако не, червен. 
          if (rect1Active)g.setColor(Color.green); 
          else g.setColor(Color.red); 
 
          g.fillRect(rect1xco,rect1yco,rect1width,rect1height); 
 
          g.setColor(Color.blue); 
 
  // Това ще изведе координатите на курсора. 
          g.drawString("("+xpos+","+ypos+")",xpos,ypos); 
 
     } 
 
/* Ако използвате MouseMotionListener тогава тези методи, 
трябва да ги има. 
 public void mouseMoved(MouseEvent me); 
 public void mouseDragged(MouseEvent me); 
*/ 
 
 //Това ще бъде задействано, когато
// курсора е в applet
     public void mouseMoved(MouseEvent me)  
     {  
          xpos = me.getX(); 
          ypos = me.getY(); 
  // Проверява дали курсора е в квадрата
         if (xpos > rect1xco&& xpos < rect1xco+rect1width && ypos > rect1yco  
        && ypos < rect1yco+rect1height)  
               rect1Active = true; 
          else  
              rect1Active = false; 
  //Показва резултата от движението
          repaint(); 
 
     } 
 
     public void mouseDragged(MouseEvent me)  
     { 
     } 
 
  }

Popularity: 1% [?]

No related posts.

Related posts brought to you by Yet Another Related Posts Plugin.

You can leave a response, or trackback from your own site.

Leave a Reply

Задвижван с помощта на WordPress | Compare Cell Phone Plans at iCellPhonePlans.com | Thanks to Cheap Palm Pixi, Bromoney and Wordpress Themes