2010년 2월 25일 목요일

SWT Table cell 높이, 넓이 변경

SWT Table을 이용하여 프로그램을 하다보면 일반적으로 셀 높이를 변경할 필요가 없지만,
셀에디터를 사용하여 셀을 편집해야 할 경우에 콤보박스가 일부 잘려 보이기도 한다.
이런 경우에는 Table의 cell 높이를 늘려 주어야 UI가 보기 좋게 된다.

아래와 같이 코드를 작성하면 테이블의 셀 크기를 변경할 수 있다.

Table table = tableViewer.getTable();

table.addListener(SWT.MeasureItem, measureListener = new Listener() {

@Override
public void handleEvent(Event event) {
event.height = event.gc.getFontMetrics().getHeight() * 2;
}
});
물론 폭도 설정가능하다.


UI 프로그래밍에서 쓸데없이 메모리를 사용하지 않도록 등록된 리스너는 반드시 제거시키는 것도 잊지 말아야 한다.

viewer.getTable().removeListener(SWT.MeasureItem, measureListener);


Resources:
http://lekkimworld.com/2008/03/27/setting_table_row_height_in_swt.html

http://www.eclipse.org/articles/article.php?file=Article-CustomDrawingTableAndTreeItems/index.html

댓글 없음:

댓글 쓰기