|
|
|
Отловить изменение размеров
|
|||
|---|---|---|---|
|
#18+
Мне нужно в компоненте обработать событие своих "изменение размеров". Как это делать, идеологически, правильно? Вызвать addComponentListener() или перекрыть метод класса? Если перекрыть метод, то какой? Фактически изменение размеров происходит в методе reshape(), но он помечен как deprecated и рекомендуется к использованию setBounds(), а setBounds() просто вызывает reshape() И еще вопрос - обычно, если метод помечается как deprecated, то в нем происходит только вызов правильного метода. А в Java, я смотрю, делается наоборот - сплошь по исходникам из новых методов вызываются deprecated методы. Это зачем так делается? С уважением, Vasilisk ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2014, 18:03 |
|
||
|
Отловить изменение размеров
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_Мне нужно в компоненте обработать событие своих "изменение размеров". Что значит "своих"? _Vasilisk_Как это делать, идеологически, правильно? Вызвать addComponentListener() или перекрыть метод класса? Если перекрыть метод, то какой? Фактически изменение размеров происходит в методе reshape(), но он помечен как deprecated и рекомендуется к использованию setBounds(), а setBounds() просто вызывает reshape() Если работает через слушателя, то лучше через него. Это позволяет уменьшить связность классов. Но, в Swing, часто бывает что слушатели работают уже пост-фактум. А какое-то действие надо предотвратить. Тогда только переопределением метода. _Vasilisk_И еще вопрос - обычно, если метод помечается как deprecated, то в нем происходит только вызов правильного метода. А в Java, я смотрю, делается наоборот - сплошь по исходникам из новых методов вызываются deprecated методы. Это зачем так делается? Java требует обратной совместимости. Новые методы нужны чтобы что-то изменить. Если старый код, вызовет старый метод, а тот вызовет новую реализацию, то есть не малый шанс сломать обратную совместимость. Если новый метод вызывает старый код, но добавляет что-то в него, то старый код может вызывать старые методы не опасаясь нововведений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2014, 09:25 |
|
||
|
Отловить изменение размеров
|
|||
|---|---|---|---|
|
#18+
BlazkowiczЧто значит "своих"?В самом объекте поймать момент изменения размеров этого объекта BlazkowiczЕсли работает через слушателя, то лучше через него.Ясно. Спасибо. BlazkowiczJava требует обратной совместимости.Общая идея ясна. Т.е. совместимость не по коду, а по реализации. Т.е. deprecated метод это не тот, который будет удален в следующей версии, а просто тот, который нежелательно вызывать и переопределять нужно именно его? Не нарвусь ли я на такую ситуацию - в текущей реализации Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Я переопределю oldMethod, а в новой версии окажется такой код Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Все мое переопределение пойдет в топку и я буду долго искать причину из-за которой все сломалось ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2014, 19:41 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=162&tid=2126691]: |
0ms |
get settings: |
10ms |
get forum list: |
22ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
53ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 209ms |
| total: | 367ms |

| 0 / 0 |
