こんにちは、swt テーブルの次のコードがあります
private Table folderAssociationTable;
private TableItem item;
private TableEditor editor;
folderAssociationTable = componentsRenderer.createTableWidget(container, SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION, 2, true);
folderAssociationTable.addListener(SWT.MeasureItem, new Listener() {
public void handleEvent(Event event) {
event.height = 20;
}
});
componentsRenderer.createTableColumWidget(folderAssociationTable, SWT.CHECK, "Item", 80);
// add a column to display source folders
componentsRenderer.createTableColumWidget(folderAssociationTable,
SWT.LEFT, PropertyClass.getPropertyLabel(QTLConstants.SOURCE_FOLDER_COLUMN_LABEL), 200);
// add a column to display target folders
componentsRenderer.createTableColumWidget(folderAssociationTable,
SWT.LEFT, PropertyClass.getPropertyLabel(QTLConstants.TARGET_FOLDER_COLUMN_LABEL), 200);
この方法でテーブルデータを追加します
item = new TableItem(folderAssociationTable, SWT.NONE);
editor = new TableEditor (folderAssociationTable);
Button button = new Button(folderAssociationTable, SWT.CHECK);
button.setText("item "+ (i+1));
button.pack();
editor.minimumWidth = button.getSize ().x;
editor.setEditor(button, item, 0);
item.setText(1, folderlist[i]); // add source folder to the first column of the table
item.setText(2, targetFolderPath); // add target folder to the second column of the table
sourceTargetFolderMap.put(folderlist[i], targetFolderPath);
このページのテーブルコンポーネントの外に削除ボタンがあり、そのアクションリスナーで選択した行をテーブルから削除していますが、この場合、テーブルが更新されるとテーブルアイテムのみが更新されますが、テーブルエディターは同じ位置のままです。どうすれば両方を更新できますか削除ボタンをクリックすると、テーブル エディターとテーブル アイテムが表示されます。