2015-01-02 31 views
0

我做了一個實現監聽器的類。這個監聽器在我的RCP視圖中控制JFace Table Viewer的大小調整,但是,由於我在不同的類中實現了監聽器,所以在調整表的大小時什麼都沒有發生,爲什麼會發生這種情況?監聽器類對TableViewer沒有影響嗎?

我的聽衆:

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)); 

在此先感謝,波蘭:)

+0

在包含表格查看器的Composite上使用'TableColumnLayout'來處理大小調整 - 參見http://www.vogella.com/tutorials/EclipseJFaceTableAdvanced/article.html(2.4節) –

+0

我已經在做它了..你可以看到我的變量'layout'是一個TableColumnLayout變量。我已經解決了我的問題,但是,謝謝anywawy – yat0

+0

@polska發佈您的答案,並接受它。不要將解決方案留在問題本身中。 – GGrec

回答

1

我只是改變了我的EVENTTYPE到SWT.Resize,而不是SWT.RESIZE,現在聽衆工作正常。