Как использовать TableViewer в WindowBuilderPro? - PullRequest
2 голосов
/ 08 августа 2011

Мне нужно создать таблицу на странице мастера, и я хочу создать ее с помощью TableViewer. Я использую WindowBuilderPro для разработки моей страницы мастера. Элемент управления TableViewer доступен в палитре WindowBuilderPro, но я не понимаю, как его правильно использовать.

Кто-нибудь использовал то же тело?

Заранее большое спасибо !!

1 Ответ

3 голосов
/ 09 августа 2011

У вас есть два способа заполнения TableViewer содержимым (аналогично TableViewer в JFace):

  1. Вы можете определить поставщика контента и поставщика меток вручную. Поставщик контента должен вернуть набор объектов, которые представляют каждую строку таблицы; в то время как TableLabelProvider переводит возвращаемые объекты в тексты в столбцах. Поставщики содержимого и меток должны быть установлены в поле «Свойства» слева. В этом случае полученный код должен выглядеть следующим образом: http://wiki.eclipse.org/JFaceSnippets#Snippet001TableViewer или http://wiki.eclipse.org/JFaceSnippets#Snippet007FullSelection.

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

Существует также способ заполнения содержимого таблицы с использованием более нового API, который затем поддерживается непосредственно WindowBuilder: вы можете создать TableViewerColumns и ColumnLabelProviders для каждого столбца, что приведет к гораздо более приятному коду для провайдеров меток (а также этот API является более новым) , поэтому он должен быть предпочтительным для нового кода на основе JFace) - но в этом случае вам придется создавать свой код вручную. См. Учебник JFace Table от Ларса Фогеля.

Кроме того, если вы не знакомы с платформой JFace Viewer ранее, я предлагаю прочитать первые несколько вопросов, перечисленных в JFace FAQ , чтобы лучше понять идеи (и учебник от Lars Фогель тоже хорош по этой причине).

...