HI,
как добавить листенеры от мышки на increment и decrement кнопочки в JSpinner, я что — то рылся в инете так и не нашел ничего
Здравствуйте, Аноним, Вы писали:
А>HI,
А>как добавить листенеры от мышки на increment и decrement кнопочки в JSpinner, я что — то рылся в инете так и не нашел ничего
1)А зачем? JSpinner.addChangeListener чем не угодил?
2)Вообще можно слушателей и на кнопки при желании повесить. Но это будет кривое решение, которое я бы не рекомендовал.
Для этого нужно будет вызвать getUI(), прикастить результат к UI текущего L&F и вытаскивать кнопки через методы JComponent/Container
Здравствуйте, Blazkowicz, Вы писали:
B>1)А зачем? JSpinner.addChangeListener чем не угодил?
B>2)Вообще можно слушателей и на кнопки при желании повесить. Но это будет кривое решение, которое я бы не рекомендовал.
B>Для этого нужно будет вызвать getUI(), прикастить результат к UI текущего L&F и вытаскивать кнопки через методы JComponent/Container
Привет, эту тему писал я просто завтыкал подписатся
, на счёт твоих рекомендаций, точно такое решение я уже нашел просто оно действительно кривое, по тому и задал вопрос, на счёт чейнджлистенера, я хочу сделать такую фичу, что если нажата кнопочка инкримент более 5 секунд то увечиливаю то StepSize на десятки а не на еденицы тоесть ((SpinnerNumberModel) spin.getModel()).setStepSize( 10 );, когда мышку отпускают то всё возвращается обратно тоесть ((SpinnerNumberModel) spin.getModel()).setStepSize( 1 );
Здравствуйте, jitm, Вы писали:
J>Привет, эту тему писал я просто завтыкал подписатся , на счёт твоих рекомендаций, точно такое решение я уже нашел просто оно действительно кривое, по тому и задал вопрос, на счёт чейнджлистенера, я хочу сделать такую фичу, что если нажата кнопочка инкримент более 5 секунд то увечиливаю то StepSize на десятки а не на еденицы тоесть ((SpinnerNumberModel) spin.getModel()).setStepSize( 10 );, когда мышку отпускают то всё возвращается обратно тоесть ((SpinnerNumberModel) spin.getModel()).setStepSize( 1 );
Почему бы не сделать тоже самое и на ChangeListener? С каждым изменением трекаешь сколько раз оно произошло в течении определенного интервала времени. Когда счетчик доходит до определенного значение, увелечиваешь step. То есть в ChangeListener высчитывается некий rate, а и на основе rate высчитываешь шаг. Не вижу особых сложностей.
Здравствуйте, Blazkowicz, Вы писали:
B>Здравствуйте, jitm, Вы писали:
B>Почему бы не сделать тоже самое и на ChangeListener? С каждым изменением трекаешь сколько раз оно произошло в течении определенного интервала времени. Когда счетчик доходит до определенного значение, увелечиваешь step. То есть в ChangeListener высчитывается некий rate, а и на основе rate высчитываешь шаг. Не вижу особых сложностей.
Да, блин, я действительно зациклился на моузлистенерах ..
Спасибо.
Здравствуйте, jitm, Вы писали:
J>Да, блин, я действительно зациклился на моузлистенерах .. Спасибо.
Ну, не факт. Возможно решение с прямым доступом к кнопкам все же было бы и лучше. Например в 3DMAX есть обалденная фича когда spinner можно крутить через Drag&Drop. На ChangeListener такое не повесишь.