tableViewer----color总结

 

 

 1、改变某一行的颜色

                  viewer.setContentProvider(new ContentProvider());
		viewer.setLabelProvider(new TableLabelProvider());
		viewer.setInput(list);
		
		Color color = Display.getDefault().getSystemColor(SWT.COLOR_RED);
		table.getItems()[table.getItemCount()-1].setBackground(color);  //table.getItems()返回 TableItem[ ],
		                                                                  table.getItemCount()返回表格行数
		                                                                             [ ]中为index
		table.redraw();
		
	         viewer.refresh();


2、改变某一列的颜色  

        Color color = Display.getDefault().getSystemColor(SWT.COLOR_RED);
        col = createTableViewerColumn(titles[10], bounds[10], 10);
		col.setLabelProvider(new CellLabelProvider() {
			@Override
			public void update(ViewerCell cell) {
				cell.setText(((Indent) cell.getElement()).getComment());  //设置文本
				cell.setBackground(color);//设置第11列颜色
 			}
		});
       col.setEditingSupport(new CommentEditingSupport(viewer));


    

3、两种颜色交叉显示

   

                  viewer.setContentProvider(new ContentProvider());
		viewer.setLabelProvider(new TableLabelProvider());
		viewer.setInput(list);
		
		Color color = Display.getDefault().getSystemColor(SWT.COLOR_RED);
		int count=table.getItemCount();
 		       for(int i=0;i<count;i++)
 		       {
 		 		   if(i%2==0)
 		 		   {
 		    	               table.getItems()[i].setBackground(color);
 		 		      table.redraw();
 		 		   }
 		       }  
	           viewer.refresh();

 

4、录入tableviewer的新数据不同颜色

TableItem[] ttlist; //排好序的界面表格
List<Indent> listPdf;//最新读进数据库的记录集合
//排好序的事件下面
private SelectionAdapter getSelectionAdapter(final TableColumn column,
			final int index) {
		SelectionAdapter selectionAdapter = new SelectionAdapter() {
			@Override
			public void widgetSelected(SelectionEvent e) {
				comparator.setColumn(index);
				int dir = comparator.getDirection();
				viewer.getTable().setSortDirection(dir);
				viewer.refresh();

			    //设置颜色,下面是构造排好顺序的表格
				int countNo=table.getItemCount();
				//System.out.println(ind.size());
				ttlist=table.getItems();
				
				for(int t=0;t<countNo;t++)
				{
					TableItem temp=ttlist[t];	
						if(listPdf.contains((Indent)temp.getData()))//排好序的表格行与新纪录中数据相等
						{
								temp.setBackground(colorYellow); //设置颜色 
														}
						else
						{
							temp.setBackground(colorNone);//旧的数据及其它数据本来的颜色
						}
						table.redraw();
					}
				}
				
		};
		return selectionAdapter;
	}


 

 


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值