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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> JTextField два и больше символов двигаются, JTextField+Multithreading 
:(
    Опции темы
Andy_L20066
Дата 10.3.2008, 01:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Привет всем! У меня возникла такая задача: в JTextField нужно чтобы елемент '*' создавался у правого края, и начинал свое движения к левому.... при нажатии другой кнопки - должен появится еще один такой же символ, который уже будет двигаться слева направо... обое елемены могут встретися и должны отталкиватся... 
Мне удалось реализовать движение одного елемента в текстовом филде, путем добавления пробелов к нему, но проблема в том что когда данные виводятся методом setText  и в филде есть два символа - то они мигают поскоку перекриваются... Может у кого есть идеи как такое можно исправить, и вообще на правильном ли я пути?



PM MAIL ICQ   Вверх
powerOn
Дата 10.3.2008, 02:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


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

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



Есть мнение, что для реализации подобного поведения, тебе нужно использовать всего одну строку, полностью состоящую из символов пробела (её длинна равняется длине текстового поля). Для каждой звездочки хранить текущую позицию. При каждом изменении позиции заменять пробел с исходной строке на зведочку, а на старую позицию ставить пробел. Совпадение позиций у 2 звезд - столконовение. При столкновении меняется направление движения, а  это значить что нужно инвертировать знак шага (который прибавляется для смены позиции) для каждой звезды. 

Надеюсь я понятно изложил smile





--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
Andy_L20066
Дата 10.3.2008, 02:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Спасибо огромное, я попробую и подумаю еще....
просто на свингах очень мало опыта у меня... никаких задач с ним еще не решал... если что я еще напишу... 
PM MAIL ICQ   Вверх
Andy_L20066
Дата 10.3.2008, 15:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Извините за беспокойство ... но хочу спросить еще одну вещь, чтобы узнать ваше мнение.... звезды уже движутся, ты правильно подсказал.... но если каждая звезда у меня ето отдельный обьект, который работает в своем потоке... как тогда определять что две звезды столкнулись, сравнивать две позиции... что-то пока нету никаких идей.... читаю книги о Threads in Swing...)
PM MAIL ICQ   Вверх
powerOn
Дата 10.3.2008, 17:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


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

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



Зачем в отдельном потоке? Делай все в одном.


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
Andy_L20066
Дата 11.3.2008, 16:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Только сейчас увидел твой месадж... еще руки не дошли до програмы... но хочу сказать что в одном потоке вряд ли получится... а если там будет больше двух звездочок...?
может я тебя в чем то не понимаю.... могу выслать код в приватку чтоб ты поглядел... может подскажешь чьо я не правильно делаю...

PM MAIL ICQ   Вверх
Andy_L20066
Дата 11.3.2008, 21:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



вроде удалось решить... наверное ето немного по ламерски... вообще хотелось какой то патерн использовать, а получилось немного скучновато... будем работать
PM MAIL ICQ   Вверх
Andy_L20066
Дата 13.3.2008, 14:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



 smile Привет....Извините что надоедаю... сегодня хочу немного переделать свою програму... как вы думаете... как лучше синхронизировать процесс отталкивания двух или более звезд... каждая звезда работает в своем потоке... вот если к примеру у меня будут 4 звезды которые сойдутся между собой... 

есть  мнение что можно к примеру перевести потоки в ждущий режим до того времени пока не освободится место для движения... хотя... не знаю пока
PM MAIL ICQ   Вверх
gibbzy
Дата 25.3.2008, 19:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



я бы сделал примерно так: 
отслеживал позиции всех звёхдочек по XY координатам если X1 - X2|X2-X1 < 2 то двигать звёздочки в другую сторону 
ну это наверняка индусский вариант решения. 

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

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

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


 




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


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

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