swt中改变表格字体大小及颜色的实现
2010-06-10 15:06
519 查看
package org.eclipse.jface.snippets.viewers; import org.eclipse.jface.resource.FontRegistry; import org.eclipse.jface.viewers.IStructuredContentProvider; import org.eclipse.jface.viewers.ITableColorProvider; import org.eclipse.jface.viewers.ITableFontProvider; import org.eclipse.jface.viewers.ITableLabelProvider; import org.eclipse.jface.viewers.LabelProvider; import org.eclipse.jface.viewers.TableViewer; import org.eclipse.jface.viewers.Viewer; import org.eclipse.swt.SWT; import org.eclipse.swt.graphics.Color; import org.eclipse.swt.graphics.Font; import org.eclipse.swt.graphics.Image; import org.eclipse.swt.layout.FillLayout; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.TableColumn; /** * Example usage of none mandatory interfaces of ITableFontProvider and * ITableColorProvider * * @author Tom Schindl <tom.schindl@bestsolution.at> * */ public class Snippet013TableViewerNoneMandatoryLabelProvider { private class MyContentProvider implements IStructuredContentProvider { /* * (non-Javadoc) * * @see * org.eclipse.jface.viewers.IStructuredContentProvider#getElements( * java.lang.Object) */ public Object[] getElements(Object inputElement) { return (MyModel[]) inputElement; } /* * (non-Javadoc) * * @see org.eclipse.jface.viewers.IContentProvider#dispose() */ public void dispose() { } /* * (non-Javadoc) * * @see * org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse * .jface.viewers.Viewer, java.lang.Object, java.lang.Object) */ public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { } } public Snippet013TableViewerNoneMandatoryLabelProvider(Shell shell) { final TableViewer v = new TableViewer(shell, SWT.BORDER | SWT.FULL_SELECTION); v.setLabelProvider(new MyLabelProvider()); v.setContentProvider(new MyContentProvider()); TableColumn column = new TableColumn(v.getTable(), SWT.NONE); column.setWidth(200); column.setText("Column 1"); column = new TableColumn(v.getTable(), SWT.NONE); column.setWidth(200); column.setText("Column 2"); MyModel[] model = createModel(); v.setInput(model); v.getTable().setLinesVisible(true); v.getTable().setHeaderVisible(true); } private MyModel[] createModel() { MyModel[] elements = new MyModel[10]; for (int i = 0; i < 10; i++) { elements[i] = new MyModel(i); } return elements; } /** * @param args */ public static void main(String[] args) { Display display = new Display(); Shell shell = new Shell(display); shell.setLayout(new FillLayout()); new Snippet013TableViewerNoneMandatoryLabelProvider(shell); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } display.dispose(); } }
package org.eclipse.jface.snippets.viewers; public class MyModel { public int counter; public MyModel(int counter) { this.counter = counter; } public String toString() { return "Item " + this.counter; } }
package org.eclipse.jface.snippets.viewers; import org.eclipse.jface.resource.FontRegistry; import org.eclipse.jface.viewers.ITableColorProvider; import org.eclipse.jface.viewers.ITableFontProvider; import org.eclipse.jface.viewers.ITableLabelProvider; import org.eclipse.jface.viewers.LabelProvider; import org.eclipse.swt.SWT; import org.eclipse.swt.graphics.Color; import org.eclipse.swt.graphics.Font; import org.eclipse.swt.graphics.Image; import org.eclipse.swt.widgets.Display; public class MyLabelProvider extends LabelProvider implements ITableLabelProvider, ITableFontProvider, ITableColorProvider { FontRegistry registry = new FontRegistry(); public Image getColumnImage(Object element, int columnIndex) { return null; } public String getColumnText(Object element, int columnIndex) { return "Column " + columnIndex + " => " + element.toString(); } public Font getFont(Object element, int columnIndex) { if (((MyModel) element).counter % 2 == 0) { return registry.getBold(Display.getCurrent().getSystemFont() .getFontData()[0].getName()); } return null; } public Color getBackground(Object element, int columnIndex) { if (((MyModel) element).counter % 2 == 0) { return Display.getCurrent().getSystemColor(SWT.COLOR_RED); } return null; } public Color getForeground(Object element, int columnIndex) { if (((MyModel) element).counter % 2 == 1) { return Display.getCurrent().getSystemColor(SWT.COLOR_RED); } return null; } }
相关文章推荐
- swt中改变表格字体大小及颜色的实现
- swt中改变表格字体大小及颜色的实现
- 菜单选项OptionsMenu实现改变字体颜色和改变字体大小的功能
- jquery实现实时改变网页字体大小、字体背景色和颜色的方法
- swt中改变树的字体及颜色的实现
- jquery实现实时改变网页字体大小、字体背景色和颜色的方法
- swt中改变树的字体及颜色的实现
- 改变CEdit中字体大小与颜色
- 改变TextView部分字体的大小和颜色
- listview、GridView单点击效果,点击改变背景改变item字体颜色实现
- iOS UILabel改变指定字体大小和颜色
- c#实现打印功能,可以设置纸张大小,字体和颜色等
- JQuery 改变页面字体大小的实现代码(实时改变网页字体大小)
- TextView改变部分字体的大小和颜色及首行缩进
- devexpress实现单元格根据条件显示不同的样式(颜色、字体、对齐方式,大小等)
- Eclipse调试:改变颜色, 背景与字体大小 和xml字体调整
- C# winform中,简单实现Listview.Subitem.BackColor.ForeColor改变字体颜色,Listview.Subitem.BackColor 改变背景
- 实现对特定内容改变字体颜色的TextView
- 如何把matlab背景颜色改为护眼色,如何改变字体的大小。
- TextView改变部分字体的大小和颜色