ViewSorter问题

问题描述

我有一个ViewSorter类publicclassColumnSorterextendsViewerSorter{privatestaticfinalintmsgID=1;publicstaticfinalColumnSorterMSGID_ASC=newColumnSorter(msgID);publicstaticfinalColumnSorterMSGID_DESC=newColumnSorter(-msgID);privateintsortType;privateColumnSorter(intsortType){this.sortType=sortType;}publicintcompare(Viewerviewer,Objecte1,Objecte2){TableItemp1=(TableItem)e1;TableItemp2=(TableItem)e2;switch(sortType){casemsgID:{Stringl1=p1.getText(0);Stringl2=p2.getText(0);returnl1.compareTo(l2);}}return0;}

然后我在主窗口中定义了:finalstaticTableViewertableViewer=newTableViewer(logComposite,SWT.MULTI|SWT.FULL_SELECTION|SWT.BORDER|SWT.V_SCROLL|SWT.H_SCROLL);privatestaticTabletable=tableViewer.getTable();

messageIDTableColumn是table中的一个columnmessageIDTableColumn.addSelectionListener(newSelectionAdapter(){booleanasc=true;publicvoidwidgetSelected(finalSelectionEvente){tableViewer.setSorter(asc?ColumnSorter.MSGID_ASC:ColumnSorter.MSGID_DESC);asc=!asc;}});

table中是有tableItem的,但是当点messageIDTableColumn想进行排序时候会报错:“org.eclipse.core.runtime.AssertionFailedException:nullargument:”错出在这句"tableViewer.setSorter(asc?ColumnSorter.MSGID_ASC:ColumnSorter.MSGID_DESC);"应该怎么改?谢谢!

时间: 2024-08-31 05:56:57

ViewSorter问题的相关文章