Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Java: GUI и Java FX приложения > GUI-компонент для выбора 10-15 пунктов из 50-70 =? |
Автор: hardfun 19.1.2008, 18:34 |
hi all. Есть большое кол-во отчетов, в которых для задания критериев выборки юзер должен открыть достаточно большой список (от 50 до 100 пунктов), быстро там найти нужные пункты (инкрементным поиском) и отметить их (число отмеченных обычно больше 10) и нажать "Ок" для продолжения. Таких запросов ему задается по 3-4 при каждом составлении отчета. Программа должна: 1) запоминать для текущего юзера пункты каждого списка, заданные в прошлый раз, чтобы при следующем составлении этого же отчета выдать юзеру на подтверждение и, при ответе "Ок", _не_ заставлять юзера повторно их отмечать; 2) отображать (в виде JLabel внутри JPanel ?) после выбора 10-15 пунктов их число и первые символы тех названий, которые выбраны (насколько хватит места в панельке). Это отображение обязательно должно быть видно на экране в виде метки из 1-2 строк, т.к. юзера часто хотят вспомнить, по каким именно критериям проводилась выборка. Мой вопрос: если кому-то приходилось делать примерно такое же, то как вы организовывали свой GUI ? Особенно с учетом требования, что ПЕРЕД заданием критериев эти 100-строчные списки не должны быть видны: на них должны быть только "намёки" в виде "..." или ">>", а вот ПОСЛЕ задания критериев они (части выбранных названий) должны отображаться в "лаконичном стиле" -- какими компонентами вы бы это делали ? ОФФТОП. Вообще, где-нить в сети есть шареварные beans'ы для "домашнего просмотра", чтобы не тратить кучу времени на изобретение своего "единственного-неповторимого" междуморда ? |
Автор: hardfun 19.1.2008, 22:41 | ||
Что в итоге имеем ? 1) список "на входе" достаточно большой. Даже 15-20 названий - это не 3-4. Хочется держать этот список "за пазухой" до тех пор, пока до него не доберутся с запросом (иначе он займет пол-экрана). Получается, JComboBox ? Но как в нем сделать удобный мульти-селект ? (как сделать инкрементный поиск в это комбо-списке - я уже нашел на этом форуме); 2) как показать юзеру список тех, которых он отметил ? ведь исходный список скроллируется, и было бы очень удобно, чтобы юзер видел в отдельной панельке список тех, которых он выбрал. 3) самое главное, что когда юзер завершит отметку и запустил отчет, то список выбранных им контрагентов должен быть как-то отображен на экране, пусть даже "фрагментами-обрывами" названий (надо будет видеть его полностью - ткнёт в какую-нибудь gif-кнопку рядом и получит весь). Почему это важно ? Потому что с отчетом достаточно часто работают подолгу и юзерам трудно держать в голове критерии выборки. Они должны их где-то видеть, пусть даже в "усеченном" виде. Не знаю, понятнее ли я объяснил - уж как смог. Итак, первый вопрос: как это можно реализовать ? Вторая часть вопроса: я подозреваю, что эта задача (мульти-селект в длинном списке с предварительным просмотром того, что отобрано) имеет настолько "типовой" характер, что для нее уже давно созданы javabeans'ы. Пусть даже платные, но где их посмотреть можно ? Не хочется тратить время на изобретение колеса, вот и всё. И в чём тут "ужос" ?! ![]() |
Автор: Kangaroo 19.1.2008, 23:48 | ||
Вот, теперь понятней ![]() Значит как мне это видится. Есть текстфилд, в нем сделать аутокомплит. Пользователь набирает пару букв - появляются варианты. Дальше есть две возможности: 1) Пользователь нажимает ентер и этот поставщик заносится в панель выбранных поставщиков (которая показывается рядом) 2) Или рядом будет кнопка - пользователь ее нажимает и этот поставщик заносится в панель....... Это все, как мне видится, будет самым удобным. Бесплатных компонент не знаю. Вот http://www.youtube.com/watch?v=21u8C81MLQI там показаны пару компонент, но вроде они платные.
А в чем тут сложность? Пользователь выбрал список, когда он запускает отчет - вы отображаете этот список на экране. шареварные - ну это я еще понял ![]() javabeans - разве готовые компоненты называют java beans'ами? Это вроде совсем разные понятия. для "домашнего просмотра" - это как? междуморда - и такого сленга я не знаю ![]() |
Автор: hardfun 20.1.2008, 00:08 | ||
Уж простите великодушно начинающего, но, как я понял из лит-ры, javabeans - это компоненты для повторного использования в визуальных средах разработки. Или не так ? "Для домашнего просмотра" - ну, типа не для коммерции, не для использования в продаваемых программах и т.п. Только так, для образовательных целей... ![]() "Междуморд" === интерфейс. Это не сленг. Это почти буквальный перевод ![]() |
Автор: batigoal 20.1.2008, 18:42 | ||
Это компоненты, но не обязательно визуальные. |
Автор: Kangaroo 20.1.2008, 21:20 | ||
В этом пункте забираю свои слова обратно ![]() |