Направих клас, който изпълнява слушателя. Този слушател контролира преоразмеряването на моя JFace Table Viewer в моя RCP изглед, но тъй като съм изпълнил слушателя в различен клас, нищо не се случва, когато масата се преоразмерява, защо се случва това?
Моят слушател:
public class TableResizeListener implements Listener {
TableViewer viewer;
TableColumnLayout layout;
public TableResizeListener(TableViewer viewer, TableColumnLayout layout) {
this.viewer = viewer;
this.layout = layout;
}
@Override
public void handleEvent(Event e) {
TableColumn[] colunas = viewer.getTable().getColumns();
layout.setColumnData(colunas[0],
new ColumnWeightData(50, 100, true));
layout.setColumnData(colunas[1],
new ColumnWeightData(50, 100, true));
}
}
Простият код в изгледа:
// resize listener
table.addListener(SWT.RESIZE, new TableResizeListener(tableViewerCustos, tableCustosLayout));
Благодаря предварително, Polska :)
Отговори:
1 за отговор № 1Току-що промених моя EventType на SWT.Resize
, вместо SWT.RESIZE
и сега слушателят работи добре.