Как привязать JLabel к JSlider с помощью деления?

1

Мне нужно сделать слайдер, который позволяет пользователю вводить число от 0 до 1 с шагом 0,1. Поскольку JSlider допускает только целочисленные значения, я дал ему диапазон от 0 до 10 и привязал JLabel к значению ползунка. Но я хочу, чтобы на этикетке отображалось десятичное число (значение /10.0). Как я могу это сделать? Я использую редактор NetBeans 7.4 GUI. Когда я пытаюсь изменить выражение привязки на $ {value}/10, оно просто добавляет его как строку. Окно выбора компонента в конвертере только говорит: "Пользовательское редактирование этого свойства не поддерживается". благодаря

Теги:
converter
swing
bind
jslider

1 ответ

2
Лучший ответ

Если вы хотите использовать BeansBinding: язык EL, реализованный в библиотеке BeansBinding, не поддерживает большинство функций, включая примитивные вычисления. Вы должны реализовать пользовательский org.jdesktop.beansbinding.Converter а затем добавить его с помощью опции "настраиваемый код": на панели добавления конвертера выберите "Пользовательский код" в поле со списком свойств конвертера, а затем создайте экземпляр вашего конвертера в тексте "Код свойства" поле.

Кроме того, рассмотрите возможность написания собственного ChangeListener который вы прикрепляете к JSpinner который будет обновлять текст метки каждый раз, когда значение счетчика изменится. Это намного проще, чем я вижу. :-)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню