Почему текст не выделяется или не редактируется, когда я трижды щелкаю узел JTree? - PullRequest
1 голос
/ 24 мая 2011

У меня есть JTree, который я настроил для редактирования. Когда я трижды щелкаю по узлу для редактирования основного текстового поля, оно рисуется, но текст не выделяется и не редактируется. Единственный способ успешно отредактировать узел - это перейти в другое приложение и затем вернуться к фрейму Java. Это как если бы при первой попытке редактировать текстовое поле неправильно фокусировался.

Кто-нибудь знает, почему я могу видеть это поведение? В JTree включено перетаскивание, а также добавлен MouseListener для обработки всплывающих меню. Могут ли они как-то конфликтовать с редактированием / фокусом?

Я работаю на Fedora 14, используя последнюю версию Java 6u25 JDK.

Ответы [ 2 ]

1 голос
/ 24 мая 2011

В JTree включена функция перетаскивания, а также добавлен MouseListener для обработки всплывающих меню.Могут ли они как-то конфликтовать с редактированием / фокусом?

Удалите этот код и посмотрите, что произойдет!

В этом смысл создания SSCCE.Начните с базового кода из JDK, чтобы увидеть, как он работает.Затем, предполагая, что это работает, вы добавляете свой пользовательский код.Когда он перестает работать, вы изолируете, где проблема, и тогда, возможно, мы можем помочь.

0 голосов
/ 24 мая 2011

Я нашел причину проблемы.

Мое приложение имеет фрейм входа, который скрывается при открытии основного фрейма. Ошибка во фрейме входа означала, что текстовое поле крало фокус, даже если фрейм был скрыт. Затем это вызвало проблемы с текстовым полем на JTree, которое стало фокусом на редактировании.

...