2011-05-27 2 views
3

Я разрабатываю приложение с использованием JFace на Eclipse 3.6, и я хотел бы иметь фактические виджеты - в основном, флажки и кнопки - в TableViewer. Все, что я нашел, похоже, говорит о том, что в настоящий момент это невозможно.Виджеты в ячейках JFace TableViewer?

Мое текущее обходное решение включает в себя наличие MouseListener для обернутого элемента управления таблицей, где координаты события mouseDown переводятся в ячейки с использованием метода getCell() и действуют. Затем я использую поставщика контента для доставки изображений и форматированного текста, которые несколько приближаются к виду соответствующих виджетов.

Проблема в том, что результат не является родным. Есть некоторые обходные пути с участием скриншотов из реальных родных виджетов, но это имеет несколько проблем:

  • Это хак
  • Захваченные виджеты ocassionally становятся видимыми, создавая мерцающий артефакт на экране
  • It требует трюков для обработки изображений, чтобы сделать захваченное изображение смешением с цветами таблицы.
  • Он плохо масштабируется, когда, например, требуются кнопки с различным содержимым

Есть ли способ встраивать виджеты в ячейки TableViewer без использования таких громоздких методов? Эта таблица SWT, безусловно, может это сделать, но интерфейс TableViewer, похоже, не поддерживает это ...

ответ

0

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

См. http://wiki.eclipse.org/JFaceSnippets#Snippet027ComboBoxCellEditors или другие примеры CellEditor на wiki-странице.

Смежные вопросы