📄 combobindedtablecolumn.java
字号:
/**
*
*/
package net.sf.component.table;
import org.eclipse.jface.viewers.CellEditor;
import org.eclipse.jface.viewers.ComboBoxCellEditor;
import org.eclipse.swt.SWT;
/**
* $Id: ComboBindedTableColumn.java 844 2005-09-12 03:18:14Z yflei $
* Created Date: 2005-7-19
* @author SimonLei
*/
public class ComboBindedTableColumn extends BindedTableColumn {
private Object[] comboItems;
/**
* @param name
*/
public ComboBindedTableColumn(String name) {
super(name);
}
@Override
protected CellEditor getDefaultCellEditor() {
ComboBoxCellEditor cbce = new ComboBoxCellEditor();
cbce.setStyle( SWT.READ_ONLY);
cbce.setItems(getItemsFromComboItems());
return cbce;
}
public String[] getItemsFromComboItems() {
String[] strs = new String[ comboItems.length];
for (int i = 0; i < comboItems.length; i++) {
Object obj = comboItems[i];
strs[i] = (obj == null ? "" : obj.toString());
}
return strs;
}
public Object[] getComboItems() {
return comboItems;
}
public void setComboItems(Object[] comboItems) {
this.comboItems = comboItems;
}
/* (non-Javadoc)
* @see com.xab.swt.table.BindedTableColumn#getValue(java.lang.Object)
*/
@Override
public Object getValue(Object obj) {
int index = 0;
for (Object item: comboItems) {
if ( item.equals( obj)) return new Integer( index);
index++;
}
return -1;
}
/* (non-Javadoc)
* @see com.xab.swt.table.BindedTableColumn#getModifiedValue(java.lang.Object)
*/
@Override
public Object getModifiedValue(Object obj) {
Integer intValue = (Integer)obj;
if ( intValue == -1) return null;
return comboItems[ intValue];
}
@Override
public Class getValueClass() {
return valueClass == null ? String.class : valueClass;
}
/**
* Combo 当中值的Class,缺省为 String
*/
private Class valueClass;
public void setValueClass(Class valueClass) {
this.valueClass = valueClass;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -