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