2011-07-28 3 views
0

첫 번째 Eclipse RCP 응용 프로그램을 개발 중이며 JFace TableViewer 구성 요소가 테이블 셀 내의 텍스트를 자동 축소 할 수있는 방법을 알고 싶습니다.Eclipse RCP - TableViwer 셀의 텍스트를 자동으로 축소

enter image description here

는 내가 원하는 것은 : 나는 모델을 통해 멀티 라인 텍스트가 포함 된 속성을 전달하면 지금, 텍스트는 테이블의 모든 행이 다른 높이를 원인이있는 그대로 표시됩니다 그 라인 (셀에 너무 길면)이 '매우 긴 린'과 같은 것으로 변환 될 수 있다면 단 하나의 라인, 최적으로 라인의 크기가 변경되면 라인이 'Im a 매우 긴 줄에 살고 ... '어디 전체 속성 예 :. '나는 테이블 셀에 살고있는 매우 긴 줄. \ r \ n과 다른 텍스트'.

답변

2

나는 당신이 원하는 것을 정확히 이해하고 있는지 100 % 확신하지 못합니다.

표 셀 텍스트에서 줄 바꾸기를 제거하려는 경우 셀 텍스트를 설정하기 전에 표준 방법 (String.replace())을 사용하여 새 줄을 제거해야합니다.

모든 텍스트에 맞게 열 너비를 조정하려는 경우 TableColumn.pack()을 확인하십시오. 다윗이 제안

+0

예, 나는 첫 번째 옵션에 대해서 이야기하고, 난 그냥 자동으로을 수행하는 tableviewer/tableviewer 열을 설정할 수있는 플래그가 있다고 생각했다. – Kris

+0

셀은 콘텐츠 제공 업체가 제공 한 텍스트를 제공하기 때문에 ... 텍스트를 다시 포맷하려면 원한다면 직접 포맷을 처리해야합니다. –

0

마지막으로 내가 할 :

col.setLabelProvider(new ColumnLabelProvider() { 
     @Override 
     public void update(ViewerCell cell) { 
      String desc = ((Product) cell.getElement()).getDescription(); 
      desc = desc.replaceAll("\\r\\n|\\r|\\n", " "); 
      cell.setText(desc); 
     } 
    });