JSpinner and add mouse listeners to the increment btn ?
От: Аноним  
Дата: 05.03.08 10:51
Оценка:
HI,
как добавить листенеры от мышки на increment и decrement кнопочки в JSpinner, я что — то рылся в инете так и не нашел ничего
Re: JSpinner and add mouse listeners to the increment btn ?
От: Blazkowicz Россия  
Дата: 05.03.08 11:22
Оценка:
Здравствуйте, Аноним, Вы писали:

А>HI,

А>как добавить листенеры от мышки на increment и decrement кнопочки в JSpinner, я что — то рылся в инете так и не нашел ничего
1)А зачем? JSpinner.addChangeListener чем не угодил?
2)Вообще можно слушателей и на кнопки при желании повесить. Но это будет кривое решение, которое я бы не рекомендовал.
Для этого нужно будет вызвать getUI(), прикастить результат к UI текущего L&F и вытаскивать кнопки через методы JComponent/Container
Re[2]: JSpinner and add mouse listeners to the increment bt
От: jitm  
Дата: 05.03.08 12:03
Оценка:
Здравствуйте, 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 );
Re[3]: JSpinner and add mouse listeners to the increment bt
От: Blazkowicz Россия  
Дата: 05.03.08 12:24
Оценка: 4 (1)
Здравствуйте, jitm, Вы писали:

J>Привет, эту тему писал я просто завтыкал подписатся , на счёт твоих рекомендаций, точно такое решение я уже нашел просто оно действительно кривое, по тому и задал вопрос, на счёт чейнджлистенера, я хочу сделать такую фичу, что если нажата кнопочка инкримент более 5 секунд то увечиливаю то StepSize на десятки а не на еденицы тоесть ((SpinnerNumberModel) spin.getModel()).setStepSize( 10 );, когда мышку отпускают то всё возвращается обратно тоесть ((SpinnerNumberModel) spin.getModel()).setStepSize( 1 );

Почему бы не сделать тоже самое и на ChangeListener? С каждым изменением трекаешь сколько раз оно произошло в течении определенного интервала времени. Когда счетчик доходит до определенного значение, увелечиваешь step. То есть в ChangeListener высчитывается некий rate, а и на основе rate высчитываешь шаг. Не вижу особых сложностей.
Re[4]: JSpinner and add mouse listeners to the increment bt
От: jitm  
Дата: 05.03.08 12:27
Оценка:
Здравствуйте, Blazkowicz, Вы писали:

B>Здравствуйте, jitm, Вы писали:


B>Почему бы не сделать тоже самое и на ChangeListener? С каждым изменением трекаешь сколько раз оно произошло в течении определенного интервала времени. Когда счетчик доходит до определенного значение, увелечиваешь step. То есть в ChangeListener высчитывается некий rate, а и на основе rate высчитываешь шаг. Не вижу особых сложностей.

Да, блин, я действительно зациклился на моузлистенерах .. Спасибо.
Re[5]: JSpinner and add mouse listeners to the increment bt
От: Blazkowicz Россия  
Дата: 05.03.08 12:40
Оценка:
Здравствуйте, jitm, Вы писали:

J>Да, блин, я действительно зациклился на моузлистенерах .. Спасибо.

Ну, не факт. Возможно решение с прямым доступом к кнопкам все же было бы и лучше. Например в 3DMAX есть обалденная фича когда spinner можно крутить через Drag&Drop. На ChangeListener такое не повесишь.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.