📄 celleditors.java
字号:
/*
* Created on 2005-1-3
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package com.hnjchina.createview;
import java.util.ArrayList;
import org.eclipse.jface.viewers.CellEditor;
import org.eclipse.jface.viewers.CheckboxCellEditor;
import org.eclipse.jface.viewers.ColorCellEditor;
import org.eclipse.jface.viewers.ComboBoxCellEditor;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.jface.viewers.TextCellEditor;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.graphics.RGB;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableColumn;
import org.eclipse.ui.part.ViewPart;
/**
* @author limeiyong
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class CellEditors extends ViewPart{
public java.util.List people= new ArrayList();;
/* (non-Javadoc)
* @see org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
*/
public void createPartControl(Composite parent) {
Composite composite = new Composite(parent, SWT.NONE);
composite.setLayout(new GridLayout(1, false));
// Add a button to create the new person
Button newPerson = new Button(composite, SWT.PUSH);
newPerson.setText("Create New Person");
// Add the TableViewer
final TableViewer tv = new TableViewer(composite,SWT.FULL_SELECTION);
tv.setContentProvider(new PersonContentProvider());
tv.setLabelProvider(new PersonLabelProvider());
tv.setInput(people);
// Set up the table
Table table = tv.getTable();
table.setLayoutData(new GridData(GridData.FILL_BOTH));
new TableColumn(table, SWT.CENTER).setText(PersonEditor.NAME);
new TableColumn(table, SWT.CENTER).setText(PersonEditor.MALE);
new TableColumn(table, SWT.CENTER).setText(PersonEditor.AGE);
new TableColumn(table, SWT.CENTER).setText(PersonEditor.SHIRT_COLOR);
for (int i = 0, n = table.getColumnCount(); i < n; i++) {
table.getColumn(i).pack();
}
table.setHeaderVisible(true);
table.setLinesVisible(true);
// Add a new person when the user clicks button
newPerson.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent event) {
Person p = new Person();
p.setName("Name");
p.setMale(true);
// p.setAgeRange(Integer.valueOf("0"));
p.setShirtColor(new RGB(255, 0, 0));
people.add(p);
tv.refresh();
}
});
// Create the cell editors
CellEditor[] editors = new CellEditor[1];
editors[0] = new TextCellEditor(table);
editors[1] = new CheckboxCellEditor(table);
// editors[2] = new ComboBoxCellEditor(table,AgeRange.INSTANCES,SWT.READ_ONLY);
editors[2] = new ComboBoxCellEditor(table,PersonEditor.PROPS,SWT.READ_ONLY);
editors[3] = new ColorCellEditor(table);
// Set the editors, cell modifier, and column properties
tv.setColumnProperties(PersonEditor.PROPS); //the edit
tv.setCellModifier(new PersonCellModifier(tv)); //the edit
tv.setCellEditors(editors);
}
/* (non-Javadoc)
* @see org.eclipse.ui.part.WorkbenchPart#setFocus()
*/
public void setFocus() {
// TODO Auto-generated method stub
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -