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

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

  1. 1sanek1

    1sanek1 Гость

    Привет всем! Я хотел бы написать, в данном случае апплет, в котором навидя мышью на определённые координаты появляется надпись "Privet drug" например:
    Код (Text):
     
    Код:
    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()){}
    Причем использовать цикл в этом методе затруднительно, поскльку метод не сможет отслеживать курсор мыши, тоесть следующий пример работать не будит:
    Код (Text):
    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. c0de3r
    Ответов:
    5
    Просмотров:
    115
  2. DobermannTT
    Ответов:
    10
    Просмотров:
    132
  3. SoulPaladin
    Ответов:
    3
    Просмотров:
    121
  4. Artael
    Ответов:
    1
    Просмотров:
    109
  5. ENSLER
    Ответов:
    0
    Просмотров:
    102

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