⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 createtable.java

📁 eclipse jsp 插件
💻 JAVA
字号:
package test.actions;

import org.eclipse.jface.viewers.CellEditor;
import org.eclipse.jface.viewers.ColumnWeightData;
import org.eclipse.jface.viewers.ComboBoxCellEditor;
import org.eclipse.jface.viewers.TableLayout;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.jface.viewers.TextCellEditor;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableColumn;
import org.eclipse.swt.widgets.TableItem;

public class CreateTable implements Table_Viewer{
	private Table table;
	private TableViewer tableViewer;
	final public String[] COLUMN_NAMES={"name","value"};
	public CreateTable(TableViewer tableViewer){
		this.tableViewer=tableViewer;
	}
	public CreateTable(){
		
	}
	public void createMyTable(Composite part) {
		tableViewer=new TableViewer(part,SWT.SINGLE|SWT.BORDER|SWT.FULL_SELECTION);
		this.table=this.tableViewer.getTable();
		this.table.setHeaderVisible(true);
		this.table.setLinesVisible(true);
		
		TableLayout tableLayout=new TableLayout();
		
		tableLayout.addColumnData(new ColumnWeightData(10));
		new TableColumn(this.table,SWT.NONE).setText("name");
		tableLayout.addColumnData(new ColumnWeightData(10));
		new TableColumn(this.table,SWT.NONE).setText("value");
		this.table.setLayout(tableLayout);
		
		this.tableViewer.setContentProvider(new TestContentProvider());
		this.tableViewer.setLabelProvider(new TestLabelProvider());
		//must
		this.tableViewer.setColumnProperties(this.COLUMN_NAMES);
		table.addListener(SWT.MouseDown, tableListener);
	}
	Listener tableListener=new Listener(){
		public void handleEvent(Event event) {
			CellEditor[] cellEditor=new CellEditor[tableViewer.getTable().getColumnCount()];
			TableItem [] tableValues=table.getItems();
			Point pt = new Point(event.x, event.y);
				if(pt.x<300&&pt.y<46){
					if(pt.y<33){
						PropertyEntity pe=(PropertyEntity)tableValues[0].getData();
						cellEditor[1]=new TextCellEditor(tableViewer.getTable());
						tableViewer.setCellEditors(cellEditor);
						tableViewer.setCellModifier(new TableCellMondiier(tableViewer,pt.x,pe.getName()));
						return;
					}
					if(pt.y>=33||pt.y<46){
						PropertyEntity pe=(PropertyEntity)tableValues[1].getData();
						cellEditor[1]=new TextCellEditor(tableViewer.getTable());
						tableViewer.setCellEditors(cellEditor);
						tableViewer.setCellModifier(new TableCellMondiier(tableViewer,pt.x,pe.getName()));
						return;
					}
				}
				if(pt.x>=300&&pt.y>=46){
					PropertyEntity pe=(PropertyEntity)tableValues[2].getData();
					cellEditor[1]=new ComboBoxCellEditor(tableViewer.getTable(),COLUMN_NAMES,SWT.READ_ONLY);
					tableViewer.setCellEditors(cellEditor);
					tableViewer.setCellModifier(new TableCellMondiier(tableViewer,pt.x,pe.getName()));
					return;
				}
		}
	};
	public Table getTable() {
		return table;
	}
	public TableViewer getTableViewer() {
		return tableViewer;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -