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

Пустое Табличное Отбрасывание

Перетаскивание в пустую таблицу представляет собой уникальную проблему. Придерживаясь надлежащих шагов:

Вы запускаете приложение и пытаетесь перетащить допустимые данные в таблицу, но это отклоняет отбрасывание. Что дает?

Причина состоит в том, что пустая таблица (в отличие от пустого списка или пустого дерева) не занимает места в области прокрутки. JTable автоматически не простирается, чтобы заполнить height a JScrollPane's область просмотра — это только приводит так много вертикальной комнаты в рабочее состояние как необходимый для строк, что это содержит. Так, когда Вы перетаскиваете по пустой таблице, Вы не фактически по таблице и сбоям отбрасывания.

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

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

Снимок FillViewportHeightDemo.

Попробуйте это: 
  1. Нажмите кнопку Launch, чтобы работать FillViewportHeightDemo Сеть Java™ использования Запускается (загрузите JDK 6 или позже). Альтернативно, чтобы скомпилировать и выполнить пример самостоятельно, консультируйтесь, пример индексируют.Запускает пример FillViewportHeightDemo
  2. Перетащите от текстового поля, маркированного, "Перетаскивают отсюда" к таблице.
  3. Отбрасывание на таблицу. Отбрасывание отклоняется.
  4. Двойной щелчок по перетащить источнику. Это вносит текущую стоимость (0, 0, 0, 0, 0) в таблицу и постепенно увеличивает значения в текстовом поле.
  5. Еще раз перетащите от текстового поля до таблицы. Можно вставить выше или ниже строки, но не в области внизу.
  6. От меню опций выберите "Высоту Области просмотра Заливки", чтобы включить "fillsViewportHeight" свойству.
  7. От меню опций выберите "Сброс", чтобы освободить таблицу.
  8. Перетащите от текстового компонента до таблицы. Можно теперь отбросить где угодно на порту представления, и он вставляет данные в строке 0.

Можно исследовать источник на FillViewportHeightDemo.java, но основная точка, чтобы помнить - то, что следует обычно вызвать setFillsViewportHeight(true) на любой таблице, которая примет отброшенные данные.


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

Предыдущая страница: Демонстрационный пример - LocationSensitiveDemo
Следующая страница: Рендеринг Расположения Отбрасывания