Фон: Я использую пользовательский AWT D & D в моем (сильно) подклассе JTextPane. Другими словами, я отключил Свинг D & D с pane.setDragEnabled(false)
и я использую свой собственный DragSource, DragGestureListener и т.д.Как переопределить поведение JTextPane при отключении Swing D & D?
Проблема: поведение выбора по умолчанию в JTextPane когда Свинг D & D отключена следующим образом:
- Выберите текст с помощью мыши
- мыши нажмите внутри выделения с намерением начать перетаскивание
Желаемый: выбор не потерян. Фактическое: при нажатии мыши выбор сразу теряется, и у меня нет возможности начать операцию перетаскивания, так как теперь нет перетаскивания.
Я частично проследил это обратно к BasicTextUI $ DragListener, так как это класс, вызывающий метод панели getDragEnabled()
, но BasicTestUI, похоже, не сильно отличается от выбора текстового компонента. Итак, я все еще не совсем точно, когда выбор очищается, но мне нужно найти его, чтобы я мог устранить поведение.
Я использовал хак, который включает в себя установку постоянной подсветки из слушателя карат, поэтому, несмотря на то, что выбор потерян, останется подсветка, с которой может взаимодействовать мое сопротивление. Я не доволен этим и имеет другие побочные эффекты.
Большое спасибо за любые указатели.