1. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление

Проблема извлечения данных для обработки событий мыши!

Тема в разделе "Java", создана пользователем 1sanek1, 17 окт 2008.

  1. 1sanek1

    1sanek1 Гость

    Репутация:
    0
    Привет всем! Я хотел бы написать, в данном случае апплет, в котором навидя мышью на определённые координаты появляется надпись "Privet drug" например:
    Код:
     
    Код: 
    import java.awt.*; 
    import java.awt.event.*; 
    import java.applet.*; 
    
    /* 
    <applet code="dfdg!" width=450 height=700> 
    </applet> 
    */ 
    class SampleFrame extends Frame implements MouseMotionListener 
    { 
    String msg=""; 
    SampleFrame(String title) 
    { 
    super(title); 
    addMouseMotionListener(this); 
    MyWindowAdapter adapter = new MyWindowAdapter(this); 
    addWindowListener(adapter); 
    } 
    public void paint(Graphics g) 
    { 
    g.drawLine(10, 50, 10, 900); 
    g.drawLine(10, 900, 1100, 900); 
    g.drawLine(10, 50, 5, 55); 
    g.drawLine(10, 50, 15, 55); 
    g.drawLine(1100, 900, 1095, 895); 
    g.drawLine(1100, 900, 1095, 905); 
    g.drawString(msg, 10, 50); 
    } 
    
    public void mouseDragged(MouseEvent me){} 
    public void mouseMoved(MouseEvent me)				//!!!!!! 
    {		  //вот так можосделать создать, для точки с координ. x y 
    int x = 10,y=50;						//появление надписи 
    if(x==getX() && y==getY()) 
    { 
    msg = "Privet drug!"; 
    repaint(); 
    } 
    else 
    { 
    msg = ""; 
    repaint(); 
    } 
    
    } 
    } 
    
    class MyWindowAdapter extends WindowAdapter 
    { 
    SampleFrame sampleFrame; 
    public MyWindowAdapter(SampleFrame sampleFrame) 
    { 
    this.sampleFrame = sampleFrame; 
    } 
    public void windowClosing(WindowEvent we) 
    { 
    sampleFrame.setVisible(false); 
    } 
    } 
    
    public class AppletFrame extends Applet 
    { 
    Frame f; 
    public void init() 
    { 
    f = new SampleFrame("A Frame Window"); 
    
    f.setSize(1200, 950); 
    f.setVisible(true); 
    } 
    public void stsrt() 
    { 
    f.setVisible(true); 
    } 
    public void stop() 
    { 
    f.setVisible(false); 
    } 
    public void paint(Graphics g) 
    { 
    g.drawString("Privet! ", 10, 20); 
    } 
    }
    Проблема в том, что мне надо использовать не точку с координатами x, y , а массив координат.
    Например есть масив mouse[6] из шести элементов, хотя число элементов в масиве вегда будит разным, как сделать чтоб в фун. mouseMoved можно было бы установить условие:
    if(mouse[0]==getX() && mouse[1]==getY()){}
    else if(mouse[2]==getX() && mouse[3]==getY()){}
    else if(mouse[4]==getX() && mouse[5]==getY()){}
    Причем использовать цикл в этом методе затруднительно, поскльку метод не сможет отслеживать курсор мыши, тоесть следующий пример работать не будит:
    Код:
    public void mouseMoved(MouseEvent me) 
    { 
    int mouse[] = new int[6]; 
    mouse[0]=10; 
    mouse[1]=50; 
    mouse[2]=10; 
    mouse[3]=900; 
    mouse[4]=1100; 
    mouse[5]=900; 
    for(int i=0; i<mouse.length; i+=2) 
    { 
    if(mouse[i]==getX() && mouse[i+1]==getY()) 
    { 
    msg = "Privet drug!"; 
    repaint(); 
    } 
    else 
    { 
    msg = ""; 
    repaint(); 
    } 
    } 
    }
    Кто нибуть знает как обойти эту проблему и вывести на против каждой координаты mouse, mouse[i+1] необходимый текст, заранее спасибо!
     
Загрузка...
Похожие Темы - Проблема извлечения данных
  1. pack
    Ответов:
    5
    Просмотров:
    65
  2. Alex1994
    Ответов:
    7
    Просмотров:
    125
  3. PingvinPingvin
    Ответов:
    10
    Просмотров:
    132
  4. Free2playman
    Ответов:
    14
    Просмотров:
    157
  5. Дмитрий17
    Ответов:
    10
    Просмотров:
    212

Поделиться этой страницей