|
|
|
Drag & Drop JTree Выделение ноды
|
|||
|---|---|---|---|
|
#18+
Всем доброго дня. Вопрос может и банальный, но у меня уже варианты кончились:( Итак, сам вопрос: Есть D&D дерево,реализованное с помощью DropTargetListener, DragSourceListener, DragGestureListener. Мне нужно при перетаскивании ноды в другую ноду получать координаты ноды-приемника (для последующего выделения ее и раскрытия по таймауту). Вешал на дерево MouseMotionAdapter. Вроде бы искомый метод mouseDragged, но при захваченной ноде этот метод уже не отрабатывает :( Дайте пожалуйста волшебного пинка в нужном направлении :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2013, 16:35:49 |
|
||
|
Drag & Drop JTree Выделение ноды
|
|||
|---|---|---|---|
|
#18+
Не нужен дополнительный Listener, вот пример из туториала: http://docs.oracle.com/javase/tutorial/uiswing/examples/dnd/BasicDnDProject/src/dnd/BasicDnD.java TransferHandler.TransferSupport содержит координаты, по ним можно найти ноду и запустить таймер, который позже её откроет. По идее так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2013, 16:51:36 |
|
||
|
Drag & Drop JTree Выделение ноды
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, спасибо Вам огромное! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2013, 16:55:52 |
|
||
|
Drag & Drop JTree Выделение ноды
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, все-таки немного не то:( Мне нужно мышкой взять ноду, тащить ее над другими нодами и во время перетаскивания другие ноды должны выделяться, а если задержать мышку, то нода должна открыться:) как то так. А TransferHandler этого не позволяет :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2013, 17:54:42 |
|
||
|
Drag & Drop JTree Выделение ноды
|
|||
|---|---|---|---|
|
#18+
Может есть методы для решения задачи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2013, 13:11:11 |
|
||
|
Drag & Drop JTree Выделение ноды
|
|||
|---|---|---|---|
|
#18+
danatrielА TransferHandler этого не позволяет :( Что именно он "не позволяет"? За вас он всё вышеописаное делать не будет. Что не так? Событие не отрабатывает когда нужно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2013, 13:13:47 |
|
||
|
Drag & Drop JTree Выделение ноды
|
|||
|---|---|---|---|
|
#18+
Есть какой-то запускабельный пример кода, чтобы на нем посмотреть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2013, 13:14:46 |
|
||
|
Drag & Drop JTree Выделение ноды
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, во вложении проект. класс дерева в пакете Tree CustomTree_Form. Изначально будет дерево с элементом root. К нему можно добавлять элементы - правая кнопка - Новый ниже, ну а потом уже их перетаскивать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2013, 13:28:04 |
|
||
|
Drag & Drop JTree Выделение ноды
|
|||
|---|---|---|---|
|
#18+
BlazkowiczdanatrielА TransferHandler этого не позволяет :( Что именно он "не позволяет"? За вас он всё вышеописаное делать не будет. Что не так? Событие не отрабатывает когда нужно? Мне и не нужно, чтобы за меня он все делал. Мне нужно получать координаты ноды (компонета,да неважно чего) под курсором мыши, когда этим курсором держу ноду. А по факту получается, что событие срабатывает 1 раз когда двигаю вышей первый раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2013, 13:32:59 |
|
||
|
Drag & Drop JTree Выделение ноды
|
|||
|---|---|---|---|
|
#18+
Да, точно. TransferHandler не используется, когда работает родной свинговый DnD. О чем в JavaDoc и сообщается. Могли бы сделать над собой усилие и прочитать. Вот так пробуйте: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2013, 13:47:40 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38185508&tid=2129781]: |
0ms |
get settings: |
17ms |
get forum list: |
24ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
66ms |
get topic data: |
21ms |
get forum data: |
5ms |
get page messages: |
85ms |
get tp. blocked users: |
2ms |
| others: | 357ms |
| total: | 589ms |

| 0 / 0 |
