테이블에는 실제로 행당 하나의 개체가 필요합니다.
당신이 행 당 하나의 객체를 포함하는 배열이나 ArrayList를을 작성하는 경우에는 사용할 수 ArrayContentProvider
기준 :
viewer.setContentProvider(ArrayContentProvider.getInstance());
행 데이터 클래스는 뭔가처럼 될 수 있습니다
class RowData
{
private String [] cols;
RowData(String [] theCols)
{
cols = theCols;
}
String getColumn(int index)
{
return cols[index];
}
}
가 배열을 생성한다 기존 목록의 다음 항목 :
RowData [] rows = new RowData [listSize];
for (int i = 0; i < listSize; i++)
{
rows[i] = new RowData(new String [] {col0List.get(i), col1list.get(i), ...});
}
시청자의 입력은 S :
viewer.setInput(rows);
그러나 만 시청자의 콘텐츠 제공자와 레이블 제공자를 설정 한 후이 작업을 수행.
는
ITableLabelProvider
를 구현하는 레이블 제공자 사용
class MyLabelProvider extends LabelProvider implements ITableLabelProvider
{
@Override
public String getColumnText(Object element, int columnIndex)
{
RowData rowData = (RowData)element;
return rowData.getColumn(columnIndex);
}
@Override
public Image getColumnImage(Object element, int columnIndex)
{
return null;
}
}
I이 사용을하지만 테이블의 열을 채우기 위해 입력으로 목록을 넣을 수 아니에요. –
행에 대한 모든 데이터를 포함하는 새 클래스를 만들어 콘텐츠 공급자 및 레이블 공급자와 함께 사용해야합니다. –