|
|
|||||
Настройка IDE-шного ComboBox-a
Пришлось использовать IDE-шный ComboBox (что-то нехорошее предчувствовалось заранее, но к сожалению не повелся ). Теперь стоит задача его немного рескинить. Уже со всем разобрался, кроме одного момента (в официальной доке уже обыскался): необходимо удалить кнопки для скролла в выпадающем списке. Буду благодарен за любую помощь.
__________________
Ну все, теперь Забава м-о-я. Гы-гы, а корабль мой! |
|
|||||
все что удалось с наскока
что бы убрать сами кнопки скрола, видимо надо мутить свой CellRenderer |
|
|||||
silin, спасибо, при этом кнопок не видно, но и размер собственно активной области слайдера не изменяется (остается стандартный зазор в 14 пикселей на месте бывших кнопок). И если кнопки скрыть можно и в самом IDE, то убрать этот зазор не получается. Как объяснить компоненту, что, если он и использует эти кнопки, то их размер не более 1 пикселя?
__________________
Ну все, теперь Забава м-о-я. Гы-гы, а корабль мой! |
|
|||||
Цитата:
Добавлено через 52 секунды CellRenderer если разобраться очень крутая штука, позволяет практически всё. Но довольно муторная хрень для понимания.
__________________
Кто к нам с чем для чего - тот у нас того от того. |
|
|||||
Цитата:
__________________
Ну все, теперь Забава м-о-я. Гы-гы, а корабль мой! |
|
|||||
Поидее ползунок появляется автоматически если значения не влазят в отведенное для них пространство.
Можно попытаться установить высоту выпадающего списка ровно по высоте всех пунктов или чуть больше тогда ползунок не будет отображаться. Могу ошибаться. Конкретно с этим элементом не работал, потому мои слова могут граничить с бредом в данном конкретном случае.
__________________
Кто к нам с чем для чего - тот у нас того от того. |
|
|||||
Dukobpa3, бред не бред (мне, например, таковым этот компонент кажется), просто задача состоит немного в другом.
По умолчанию у этого компонента в выпадающем списке есть скроллбар, состоящий из пары кнопок (вверх и вниз для вертикального скролла), подложки и собственно ползунка. Так вот проблема в том, что когда убираешь кнопки (реально они там остаются как объекты, но с ними нет никакой возможности для общения, т.к. они являются пустыми контейнерами), то на их месте образуется свободное пространство. Это пространство необходимо занять тем ползунком. Точнее не просто занять, а дать ему возможность попасть в соответствующие координаты. Т.е. если по умолчанию срабатывает что-то типа startDrag(false, new Rectangle(100, 20, 0, 100)); то должно startDrag(false, new Rectangle(100, 0, 0, 140)); Вот как этого добиться - ума не приложу.
__________________
Ну все, теперь Забава м-о-я. Гы-гы, а корабль мой! |
|
|||||
глубоко не копал, но имхо дешевле будет собрать свой ComboBox, чем уговаривать этот
не строится он: добраться до скролбара как бы можно (cb.dropdown.verticalScrollBar), но заменить на свой нельзя (read only), влезть в его работу тоже (нет стилей, аналогичных cellRenderer для List), да и у самого SrollBar нет очевидного способа избавится от кнопок.., при этом эти 14 пикселей зазора судя по всему захардкодены, т.е. чтоб избавится нужен серьезный бубен жуть, короче.. |
Часовой пояс GMT +4, время: 22:11. |
|
« Предыдущая тема | Следующая тема » |
|
|