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