TableViewer 列に ColumnLabelProvider を使用しています。最後の列はボタン用に設定されています。これは私のコードです
case 7: {
Map<Object, Button> buttons = new HashMap<Object, Button>();
TableItem item = (TableItem) cell.getItem();
Button button;
String filename = (((AplotSaveDataModel.SaveData) element).getFileDir() + "/" + ((AplotSaveDataModel.SaveData) element).getfileName());
if(buttons.containsKey(cell.getElement())) {
button = buttons.get(cell.getElement());
} else {
button = new Button((Composite) cell.getViewerRow().getControl(),SWT.PUSH);
button.setImage(appReg.getImage("PDFViewerLabel.ICON"));
button.setData("file.id", filename);
buttons.put(cell.getElement(), button);
}
TableEditor editor = new TableEditor(item.getParent());
editor.grabHorizontal = true;
editor.grabVertical = true;
editor.setEditor(button , item, cell.getColumnIndex());
button.addListener(SWT.Selection, new SelectionListener(item, button, cell.getElement()));
editor.layout();
break;
}
私の質問:
なぜ地図が必要なのですか?
私はそこで地図の目的を理解しようとしています。
マップなしでボタンを作成できるようです。