Spec-Zone .ru
спецификации, руководства, описания, API
След: Создание GUI С JFC/Swing
Урок: Перетащите и Отбросьте и Передача данных
Установка Режима Отбрасывания
Домашняя страница > Создание GUI С JFC/Swing > Перетащите и Отбросьте и Передача данных

Установка Режима Отбрасывания

Включая отбрасыванию на компоненте, таком как список, Вы должны решить, как Вы хотите, чтобы расположение отбрасывания было интерпретировано. Например, Вы хотите ограничить пользователя заменой существующих записей? Вы хотите только позволить добавлять или вставлять новые записи? Вы хотите позволить обоим? Сконфигурировать это поведение, JList class обеспечивает setDropMode метод, который поддерживает следующие режимы отбрасывания.

JTree class обеспечивает тот же самый набор режимов отбрасывания и JTable У class есть несколько более определенные для добавляющих строк или столбцов.

Получить расположение отбрасывания, TransferSupport class обеспечивает getDropLocation метод, который возвращает точную точку, где отбрасывание произошло. Но для компонента списка, индексирование отбрасывания более полезно чем пиксельное расположение, таким образом, JList обеспечивает специальный подкласс, вызванный JList.DropLocation. Этот class обеспечивает getIndex и isInsert методы, которые обрабатывают математику для Вас.

Таблица, дерево, и текстовые компоненты каждый обеспечивает реализацию DropLocation с методами, которые имеют большинство смысла для каждого компонента. JTable.setDropMode у метода есть большинство вариантов. Следующая таблица показывает методы для всех четырех классов:

Методы DropLocation для JList, JTree, JTable и JTextComponent
JList.DropLocation JTree.DropLocation JTable.DropLocation JTextComponent.DropLocation
isInsert getChildIndex isInsertRow getIndex
getIndex getPath isInsertColumn getBias
    getRow  
    getColumn  

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


Проблемы с примерами? Попытайтесь Компилировать и Выполнить Примеры: FAQ.
Жалобы? Поздравление? Предложения? Дайте нам свою обратную связь.

Предыдущая страница: Класс TransferSupport
Следующая страница: Демонстрационный пример - DropDemo