Я разрабатываю приложение с использованием JFace на Eclipse 3.6, и я хотел бы иметь фактические виджеты - в основном, флажки и кнопки - в TableViewer. Все, что я нашел, похоже, говорит о том, что в настоящий момент это невозможно.Виджеты в ячейках JFace TableViewer?
Мое текущее обходное решение включает в себя наличие MouseListener для обернутого элемента управления таблицей, где координаты события mouseDown переводятся в ячейки с использованием метода getCell() и действуют. Затем я использую поставщика контента для доставки изображений и форматированного текста, которые несколько приближаются к виду соответствующих виджетов.
Проблема в том, что результат не является родным. Есть некоторые обходные пути с участием скриншотов из реальных родных виджетов, но это имеет несколько проблем:
- Это хак
- Захваченные виджеты ocassionally становятся видимыми, создавая мерцающий артефакт на экране
- It требует трюков для обработки изображений, чтобы сделать захваченное изображение смешением с цветами таблицы.
- Он плохо масштабируется, когда, например, требуются кнопки с различным содержимым
Есть ли способ встраивать виджеты в ячейки TableViewer без использования таких громоздких методов? Эта таблица SWT, безусловно, может это сделать, но интерфейс TableViewer, похоже, не поддерживает это ...