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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Курсор мыши 
:(
    Опции темы
TrivialCore
Дата 28.12.2004, 17:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Как заставить окно
1. Сделать курсор мыши невидимым
2. Устанавливать положение курсора (скажем, в середине окна)

Искал в инете, не нашел =(
Добавлено @ 17:19
ЗЫ как в Quake, етс.
PM MAIL   Вверх
Domestic Cat
Дата 28.12.2004, 18:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

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



1. Как спрятать курсор.
Код

Cursor invisibleCursor = Toolkit.getDefaultToolkit().createCustomCursor(Toolkit.getDefaultToolki().getImage(""), new Point(0, 0),
"invisible");
myWindow.setCursor(invisibleCursor);


С квейком попозже чуть-чуть.


--------------------

PM   Вверх
TrivialCore
Дата 28.12.2004, 18:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Ну наконец проснулся! Здорово, теперь надо его зацепить в середине и при движении измерять величину изменения и обратно сажать в середину =)
С последним п. проблемы.
PM MAIL   Вверх
Domestic Cat
Дата 28.12.2004, 19:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

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



2. Рецентеринг
Вот кусок кода, который это делает:
Код

import java.awt.*;
import java.awt.event.*;
import javax.swing.SwingUtilities;

public class QuakeLook
   implements MouseMotionListener
   
{
   private Robot robot;
   private Point mouseLocation;
   private Point centerLocation;
   private boolean isRecentering;

   public void init()
   {
       mouseLocation = new Point();
       centerLocation = new Point();
       imageLocation = new Point();
       isRecentering = false;

       try {
           robot = new Robot();
           recenterMouse();
           mouseLocation.x = centerLocation.x;
           mouseLocation.y = centerLocation.y;
       }
       catch (AWTException ex) {
           System.out.println("Couldn't create Robot!");
       }
       Window window = //...
       window.addMouseMotionListener(this);
       Cursor invisibleCursor = Toolkit.getDefaultToolkit().createCustomCursor(
       Toolkit.getDefaultToolkit().getImage(""), new Point(0,0), "invisible");
       window.setCursor(invisibleCursor);
   }

   private synchronized void recenterMouse() {
       Window window = screen.getFullScreenWindow();
       if (robot != null && window.isShowing()) {
           centerLocation.x = window.getWidth() / 2;
           centerLocation.y = window.getHeight() / 2;
           SwingUtilities.convertPointToScreen(centerLocation,
               window);
           isRecentering = true;
           robot.mouseMove(centerLocation.x, centerLocation.y);
       }
   }

   public void mouseDragged(MouseEvent e) {
       mouseMoved(e);
   }

   public synchronized void mouseMoved(MouseEvent e) {
       if (isRecentering &&
           centerLocation.x == e.getX() &&
           centerLocation.y == e.getY())
       {
           isRecentering = false;
       }
       else {
           int dx = e.getX() - mouseLocation.x;
           int dy = e.getY() - mouseLocation.y;
           imageLocation.x += dx;
           imageLocation.y += dy;
           recenterMouse();
       }
       mouseLocation.x = e.getX();
       mouseLocation.y = e.getY();

   }

}



--------------------

PM   Вверх
TrivialCore
Дата 28.12.2004, 19:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Это ты сейчас настрочил? smile Держи +
PM MAIL   Вверх
Domestic Cat
Дата 28.12.2004, 19:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

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



Не, оно у меня было уже smile Я сейчас болею, неработоспособен. А за + сенкс smile

Это сообщение отредактировал(а) Domestic Cat - 28.12.2004, 19:30


--------------------

PM   Вверх
sonic
Дата 5.1.2005, 00:51 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











А как на счет того, чтобы сделать невидимый курсор, или свой (custom) курсор под AWT (java1.1, чтоб под 98 со стандартной мелкомягковской ява машиной шло)?
  Вверх
Domestic Cat
Дата 5.1.2005, 02:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

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



А никак, видимо. К тому же, зачем, кто сейчас на 1.1 что-то делает?
Добавлено @ 02:41
М
 
sonic, мы всегда рады новым людям на форуме. Особенно если они зарегистрированы :)



--------------------

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

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

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


 




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


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

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