Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Как дать возможность юзеру нарисовать план торгового зала и работать с его элементами? / 25 сообщений из 79, страница 1 из 4
10.08.2016, 12:25
    #39289569
else12
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как дать возможность юзеру нарисовать план торгового зала и работать с его элементами?
С графикой до этого почти не работал, а тут надо сделать что-то типа плана торгового зала (для планограммы - программы расстановки товаров), причем быстро. Времени нет чуть менее, чем совсем нет. Язык все равно какой, но лучше java swing. Сама программа примитивна и пишется на раз, если бы не графика...

В мозгу сидит набросок с помощью панелей, но панели в данном случае могут иметь вид параллелограмма. Кто-то может подсказать, где проще всего найти пример такого компонента?

Нужно вывести такую панель на экран так, чтобы пользователь мог сам изменять ее размеры, перетаскивать и отрабатывать событие по двойному клику мыши на данной панели. Если это компонента, то тут все понятно. А если рисунок, то не очень понятно...
...
Рейтинг: 0 / 0
10.08.2016, 12:52
    #39289610
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как дать возможность юзеру нарисовать план торгового зала и работать с его элементами?
else12,
графика? Значит больше показывай чем говори.
Найди гугле похожую картинку чего надо.
И учти, что быстро не будет. Графику дольше писать.
...
Рейтинг: 0 / 0
10.08.2016, 12:59
    #39289617
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как дать возможность юзеру нарисовать план торгового зала и работать с его элементами?
else12,

JavaFX должен идеально подойти.
YouTube Video
...
Рейтинг: 0 / 0
10.08.2016, 13:03
    #39289622
else12
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как дать возможность юзеру нарисовать план торгового зала и работать с его элементами?
Petro123,

Ну, я юзеру особо ничего и не говорю. Мне надо вывести панель ( это как бы торговый зал), а на ней дать возможность юзеру размещать другие панели (стеллажи), задавать размеры и изменять местоположение "стеллажей". Сложность в том, что "стеллажи" могут стоять "под углом", то есть иметь вид не прямоугольника, как у обычной панели, а параллелограмма. При двойном клике мышкой по "стеллажу" войти в режим наполнения стеллажа товарами.

В случае рисования "стеллажей", а не использования готовых компонент, все, конечно же, усложняется. Там уже вручную надо отслеживать и клики мышкой и все остальные "телодвижения". Что, конечно, целая сложная математическая система. Как и сохранение этой схемы и вывод ее на экран.

А как лучше это все сделать? Есть ли какие-то примеры?
...
Рейтинг: 0 / 0
10.08.2016, 13:09
    #39289633
else12
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как дать возможность юзеру нарисовать план торгового зала и работать с его элементами?
Blazkowiczelse12,

JavaFX должен идеально подойти.
...

Swing не подходит совершенно. Можно написать на Java2D, но писанины будет много, тем кто с 2D не знаком будет не просто.
Хотя можно взять JGraphT.

Есть ещё Eclise GEF, но это для фанатов, ИМХО.
Спасибо. Правда, вот на чем не писал, так это на JavaFX. Но, раз надо, то надо... Она на swing-то похожа или что-то из другой оперы?
...
Рейтинг: 0 / 0
10.08.2016, 13:23
    #39289657
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как дать возможность юзеру нарисовать план торгового зала и работать с его элементами?
else12,

Вам не нужен Swing. Все эти JComponent и прочия, они для рисования стандартных GUI форм с текстовыми полями, чекбоксами, кнопками и прочим барахлом. Ваша задача это исключительно 2D графика.

Да, но Swing, грубо говоря, похоже, но с ключевыми преимуществами.
- Вместо вездесущих listener-ов используются специальные JavaFX-свойства и binding.
- Графика не растровая, а векторная, что позволяет использовать ресурсы системы ещё эффективнее.
...
Рейтинг: 0 / 0
10.08.2016, 13:40
    #39289679
else12
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как дать возможность юзеру нарисовать план торгового зала и работать с его элементами?
Blazkowiczelse12,

Вам не нужен Swing. Все эти JComponent и прочия, они для рисования стандартных GUI форм с текстовыми полями, чекбоксами, кнопками и прочим барахлом. Ваша задача это исключительно 2D графика.

Да, но Swing, грубо говоря, похоже, но с ключевыми преимуществами.
- Вместо вездесущих listener-ов используются специальные JavaFX-свойства и binding.
- Графика не растровая, а векторная, что позволяет использовать ресурсы системы ещё эффективнее.
Я спрашивал в том плане, что с JavaFX я не сталкивался. Поэтому просто не представляю, например, чисто по времени сколько займет такой переход со свинга на FX?

Ну и попутно - как там работа с базой данных и JTable-подобными элементами - похожа? Мне ведь надо будет вытаскивать из БД товары, выводить их в грид, потом давать возможность юзеру мышкой перетаскивать товар из грида на полку. Ну и сохранять размеры и координаты "стеллажей".

На сколько быстро можно все это освоить? В принципе, языки я осваиваю быстро, особенно если есть примеры. Но тут никогда не сталкивался с языком, поэтому трудно оценить процесс...
...
Рейтинг: 0 / 0
10.08.2016, 13:43
    #39289684
else12
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как дать возможность юзеру нарисовать план торгового зала и работать с его элементами?
Blazkowicz они для рисования стандартных GUI форм с текстовыми полями, чекбоксами, кнопками и прочим барахлом.
Боюсь, что это барахло мне тоже немного пригодится, причем вместе с листенерами (или чем там?). Надеюсь, что, все же, оно там, в FX, не очень сложно реализовано...
...
Рейтинг: 0 / 0
10.08.2016, 13:47
    #39289690
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как дать возможность юзеру нарисовать план торгового зала и работать с его элементами?
else12Я спрашивал в том плане, что с JavaFX я не сталкивался. Поэтому просто не представляю, например, чисто по времени сколько займет такой переход со свинга на FX?

Ну и попутно - как там работа с базой данных и JTable-подобными элементами - похожа? Мне ведь надо будет вытаскивать из БД товары, выводить их в грид, потом давать возможность юзеру мышкой перетаскивать товар из грида на полку. Ну и сохранять размеры и координаты "стеллажей".

На сколько быстро можно все это освоить? В принципе, языки я осваиваю быстро, особенно если есть примеры. Но тут никогда не сталкивался с языком, поэтому трудно оценить процесс...

Ну, это же всё субъективно. Я хорошо знаю Swing. Понимаю биндинг. Написание чернового JavaFX UI с несколькими таблицами, десятком кнопок заняло где-то день. При том что я до этого на JavaFX не писал ничего кроме прототипа на JavaFX Script, но то совсем отдельная история. Главное с биндингом разобраться и всё пойдёт.

А вот 2D это немного отдельная тема.
...
Рейтинг: 0 / 0
10.08.2016, 13:59
    #39289700
else12
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как дать возможность юзеру нарисовать план торгового зала и работать с его элементами?
Blazkowiczelse12Я спрашивал в том плане, что с JavaFX я не сталкивался. Поэтому просто не представляю, например, чисто по времени сколько займет такой переход со свинга на FX?

Ну и попутно - как там работа с базой данных и JTable-подобными элементами - похожа? Мне ведь надо будет вытаскивать из БД товары, выводить их в грид, потом давать возможность юзеру мышкой перетаскивать товар из грида на полку. Ну и сохранять размеры и координаты "стеллажей".

На сколько быстро можно все это освоить? В принципе, языки я осваиваю быстро, особенно если есть примеры. Но тут никогда не сталкивался с языком, поэтому трудно оценить процесс...

Ну, это же всё субъективно. Я хорошо знаю Swing. Понимаю биндинг. Написание чернового JavaFX UI с несколькими таблицами, десятком кнопок заняло где-то день. При том что я до этого на JavaFX не писал ничего кроме прототипа на JavaFX Script, но то совсем отдельная история. Главное с биндингом разобраться и всё пойдёт.

А вот 2D это немного отдельная тема.
Ясно. Ну, вобщем, надо пробовать. А 2D - это имеется в виду уже JavaFX? Я так понял, что там надо по нажатию какой-то кнопки создавать элемент, потом его мучить мышкой и в конце запомнить координаты всех элементов - собственно, вот и все рисование. Ну и еще по нажатию какой-нибудь другой кнопки уничтожать элемент.

Ну а по двойному клику на элементе входить в режим задания параметров стеллажа и наполнения его товарами (тут вот нужны всякие алгоритмы наполнения, математика для работы с размерами и все такое). Вот здесь уже будут нужны и чек-боксы, и гриды, и все такое прочее...
...
Рейтинг: 0 / 0
10.08.2016, 14:00
    #39289704
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как дать возможность юзеру нарисовать план торгового зала и работать с его элементами?
else12А как лучше это все сделать? Есть ли какие-то примеры?
затрать пол часа и найди в гугле картинку.
Если нужна лупа\рука и т.д. инструмент, тогда долго и непросто.
...
Рейтинг: 0 / 0
10.08.2016, 14:04
    #39289706
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как дать возможность юзеру нарисовать план торгового зала и работать с его элементами?
else12В случае рисования "стеллажей", а не использования готовых компонент, все, конечно же, усложняется.
найди аналог картинки.
else12"стеллажи" могут стоять "под углом", то есть иметь вид не прямоугольника, как у обычной панели, а параллелограмма.
3D?
...
Рейтинг: 0 / 0
10.08.2016, 14:20
    #39289722
no56892
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как дать возможность юзеру нарисовать план торгового зала и работать с его элементами?
Petro123else12В случае рисования "стеллажей", а не использования готовых компонент, все, конечно же, усложняется.
найди аналог картинки.
else12"стеллажи" могут стоять "под углом", то есть иметь вид не прямоугольника, как у обычной панели, а параллелограмма.
3D?
Ахахаха. Какое 3D вы о чем? Обычный 2D канвас с поворотом на угол.
...
Рейтинг: 0 / 0
10.08.2016, 14:48
    #39289751
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как дать возможность юзеру нарисовать план торгового зала и работать с его элементами?
Тут действительно задача не про Java. Надо думать. Надо искать похожее ПО.
...
Рейтинг: 0 / 0
10.08.2016, 14:50
    #39289754
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как дать возможность юзеру нарисовать план торгового зала и работать с его элементами?
maytonТут действительно задача не про Java. Надо думать. Надо искать похожее ПО.
Любое ПО для планирования помещений. Специализированного по складам и выставкам тоже должно быть как грязи.
...
Рейтинг: 0 / 0
10.08.2016, 14:55
    #39289762
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как дать возможность юзеру нарисовать план торгового зала и работать с его элементами?
no56892Ахахаха. Какое 3D вы о чем? Обычный 2D канвас с поворотом на угол.
))) какой канвас?
Обычный Монитор наклонить лучше). Только обязательно с плоским экраном.
...
Рейтинг: 0 / 0
10.08.2016, 14:56
    #39289765
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как дать возможность юзеру нарисовать план торгового зала и работать с его элементами?
Blazkowicz,
+1
сам движок он вряд ли напишет.
...
Рейтинг: 0 / 0
10.08.2016, 15:07
    #39289778
no56892
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как дать возможность юзеру нарисовать план торгового зала и работать с его элементами?
Petro123no56892Ахахаха. Какое 3D вы о чем? Обычный 2D канвас с поворотом на угол.
))) какой канвас?
Обычный Монитор наклонить лучше). Только обязательно с плоским экраном.
Как вариант, только боюсь, что все объекты наклонятся вместе с монитором, а не только один.
...
Рейтинг: 0 / 0
10.08.2016, 15:16
    #39289783
else12
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как дать возможность юзеру нарисовать план торгового зала и работать с его элементами?
BlazkowiczmaytonТут действительно задача не про Java. Надо думать. Надо искать похожее ПО.
Любое ПО для планирования помещений. Специализированного по складам и выставкам тоже должно быть как грязи.
Ну, я тоже так думал, что как грязи этих планировщиков. Оказалось, что мерчендайзинг у нас в стране почему-то распространен в виде рисунка в экселе. Или еще лучше - рисунка на листочке формата А4, сделанного на коленке. Либо в виде дорогих программ, что не устраивает начальство. Даже 1с-ники сняли почему-то с продаж дешевый вариант. Хотя 1с нас тоже не устраивает по техническим соображениям.
...
Рейтинг: 0 / 0
10.08.2016, 15:18
    #39289785
else12
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как дать возможность юзеру нарисовать план торгового зала и работать с его элементами?
Petro123no56892Ахахаха. Какое 3D вы о чем? Обычный 2D канвас с поворотом на угол.
))) какой канвас?
Обычный Монитор наклонить лучше). Только обязательно с плоским экраном.
Какой интересный у тебя опыт работы с графикой...
...
Рейтинг: 0 / 0
10.08.2016, 15:29
    #39289801
vitprof
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как дать возможность юзеру нарисовать план торгового зала и работать с его элементами?
А какой-нибудь редактор векторной графики не поможет? Или, например, программы для планирования расположения мебели в помещении? Поищите на гугле - home floor planning software.
...
Рейтинг: 0 / 0
10.08.2016, 15:35
    #39289804
else12
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как дать возможность юзеру нарисовать план торгового зала и работать с его элементами?
Petro123else12А как лучше это все сделать? Есть ли какие-то примеры?
затрать пол часа и найди в гугле картинку.
Если нужна лупа\рука и т.д. инструмент, тогда долго и непросто.
Да сам алгоритм довольно понятен - нужна схема расположения стеллажей в зале и потом по каждому стеллажу параметры (глубина, высота, длина и кол-во полок) и наполняемость товарами. Товары, соответственно, должны, во-первых, подходить по размеру, во-вторых, подходить один к другому - грубо говоря, детская игрушка рядом с пивом не ставится.

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

Далее по двойному клику на стеллаже входим в форму работы со стеллажами - указываем габариты и кол-во полок. Затем из справочника товаров, разбитого по группам (или отфильтрованного по группам), мышкой на нужную полку перетаскиваем товар. Выскакивает подсказка сколько товара поместится на полку. В случае, если товар не помещается, его на полку не помещаем.

Что касается графики, то вот и вся графика...
...
Рейтинг: 0 / 0
10.08.2016, 15:40
    #39289810
else12
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как дать возможность юзеру нарисовать план торгового зала и работать с его элементами?
vitprofА какой-нибудь редактор векторной графики не поможет? Или, например, программы для планирования расположения мебели в помещении? Поищите на гугле - home floor planning software.
У нас нужно работать со справочниками товаров и группами товаров - тут более важен не сам дизайн, а работа со справочниками и наполняемость полок нужными товарами. "Нужный" товар - это товар, входящий в определенную группу.

Непосредственно графика тут - это возможность пользователю ввести и расположить стеллаж с помощью мыши. И перетащить товар с помощью мыши. Ну и учесть, что стеллаж может стоять под углом к другому не в 90, а, например, в 30 градусов. Все довольно схематично - всего два вида стеллажей - прямоугольник (панель) и параллелограмм, перемещаемый и раздвигаемый мышкой. Все, больше ничего графического не надо.
...
Рейтинг: 0 / 0
10.08.2016, 15:48
    #39289813
vitprof
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как дать возможность юзеру нарисовать план торгового зала и работать с его элементами?
else12,

Понятно, вот еще одна идея - используйте HTML canvas, а заведение стеллажей и назначение товаров выполняйте при помощи обычных форм. На сервере заделайте какой-нибудь PHP скрипт, который с базой работает и подсасывает оттуда товары. С drag&drop все сложнее будет, а пользователь такое неудобство на мой взгляд переживет.
...
Рейтинг: 0 / 0
10.08.2016, 15:55
    #39289815
else12
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как дать возможность юзеру нарисовать план торгового зала и работать с его элементами?
vitprofelse12,

Понятно, вот еще одна идея - используйте HTML canvas, а заведение стеллажей и назначение товаров выполняйте при помощи обычных форм. На сервере заделайте какой-нибудь PHP скрипт, который с базой работает и подсасывает оттуда товары. С drag&drop все сложнее будет, а пользователь такое неудобство на мой взгляд переживет.
Ну, это-то можно и в JAVA SE сделать, учитывая, что нужны только два вида элементов. Только как тогда подходящим образом ввести размеры и расположение "стеллажа"? Задавать вручную размеры? А товары помещать на полку, выбирая мультиселектом из справочника? Как-то не очень удобно для пользователя...
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Как дать возможность юзеру нарисовать план торгового зала и работать с его элементами? / 25 сообщений из 79, страница 1 из 4
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]