Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как добавить обработчик нажатия мыши? 
:(
    Опции темы
andruxai
Дата 3.1.2014, 09:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 24.12.2013

Репутация: нет
Всего: нет



Всем привет.  Есть программа которая берёт автоматически точку в заданой области и кликает по ней, и как только движущая точка станет на эти координаты то мы получаем новую точку и так бесконечно.Нужно чтоб когда рандомом было задано координаты движения, можна было б их изменить с помощю нажатия кнопки мыши на новую точку. Подскажте начинающему как добавить MouseListener чтоб переменным xr и yr передавались значения координат нажатия мыши.
Код программы:
Код

import java.awt.AWTException;
import java.awt.Color;
import java.awt.Container;
import java.awt.Point;
import java.awt.Robot;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.InputEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.event.MouseEvent;

class Zoro{
    
    Robot r;
    Point pkon;
    public int getx(){return xr;}
    public int gety(){return yr;}
    public int setx(int w){xr=w;return xr;}
    public int sety(int w){yr=w;return yr;}
    int k1=0;
    int k=0;
   int xr=0;int yr=0;
    int amin=828;int amax=995;int bmin=599;int bmax=690;
    public void zoro(){
     try {
            r = new Robot();
        } catch (AWTException ex) {
        }
     
     xr=((int)(Math.random()*(amax-amin+1)+amin));
     yr=((int)(Math.random()*(bmax-bmin+1)+bmin));
     r.mouseMove(xr, yr);
     r.mousePress(InputEvent.BUTTON1_MASK);
     r.mouseRelease(InputEvent.BUTTON1_MASK);
     pkon=new Point(xr,yr);
     System.out.println(pkon);
     k++;
     System.out.println(k);
    }

 class myFrame extends JFrame {
    
     int x=0;int y=0;
     Point poin;
     Point p;
     
     Zoro m= new Zoro();
        public myFrame() {
            setTitle("Test");
            JPanel panel = new JPanel();
            final JButton bt1 = new JButton("Start");
            panel.add(bt1);
            bt1.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
     
                    System.out.println("Start");
                    new Thread(new Runnable() {
                        @Override
                        public void run() {
                            m.zoro();
                           for(;;){ Color col = new Color(90, 90, 90);
                             for (int i =824; i <= 997; i++) {
                                     Color c1 = m.r.getPixelColor(i, 595);
                                     if (c1.equals(col)) {x=i;}}
                             for (int j =594; j < 700; j++) {
                                     Color c1 = m.r.getPixelColor(823, j);
                                     if (c1.equals(col)) {y=j; 
                                     p=new Point(x,y);
                                     if((x==m.getx())&(y==m.gety())/*p.equals(m.pkon)*/) m.zoro();
                                     }}
                                     
                            }
                           }}).start();
                }
            });
            Container pane = getContentPane();
            pane.add(panel);
            
            pack();
        }
    }
     
    public class MiniMap {
        public static void main(String[] args) {
            myFrame frame = new myFrame();
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frame.show();
        }
    }

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0561 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.