-
小编详解CellEditor-DialogCellEditor编辑方式怎么使用
- 作者:宋颖俊 分类:电脑技术 发布时间:2017-09-19 18:04:36
电脑现已成为我们工作、生活和娱乐必不可少的工具了,在使用电脑的过程中,可能会遇到CellEditor-DialogCellEditor编辑方式怎么使用的问题,如果我们遇到了CellEditor-DialogCellEditor编辑方式怎么使用的情况,该怎么处理怎么才能解决CellEditor-DialogCellEditor编辑方式怎么使用带来的困扰呢,对于这样的问题其实我们只需要eclipse rcp 4.5.2新建一个swt-java项目,项目的名子为javatable。建立一个shell窗口,窗口的名字为javatable。在窗口中增加一个TableViewer。TableViewerColum...
电脑现已成为我们工作、生活和娱乐必不可少的工具了,在使用电脑的过程中,可能会遇到CellEditor-DialogCellEditor编辑方式怎么使用的问题,如果我们遇到了CellEditor-DialogCellEditor编辑方式怎么使用的情况,该怎么处理怎么才能解决CellEditor-DialogCellEditor编辑方式怎么使用带来的困扰呢,对于这样的问题其实我们只需要eclipse rcp 4.5.2新建一个swt-java项目,项目的名子为javatable。建立一个shell窗口,窗口的名字为javatable。在窗口中增加一个TableViewer。TableViewerColumn。在table的数据建立一个实体类。public class jilu{private String mingcheng="";public String getmingch这样就解决了这样的问题,接下来给大家带来CellEditor-DialogCellEditor编辑方式怎么使用的详细操作步骤。
工具/原料
eclipse rcp 4.5.2
方法/步骤
新建一个swt-java项目,项目的名子为javatable。
建立一个shell窗口,窗口的名字为javatable。
在窗口中增加一个TableViewer。TableViewerColumn。
在table的数据建立一个实体类。
public class jilu{
private String mingcheng="";
public String getmingcheng(){
return this.mingcheng;
}
public void setmingcheng(String mingcheng){
this.mingcheng=mingcheng;
}
}
新建一个标签类,把数据显示在table中。
public class mcbiaoqian implements ITableLabelProvider {
@Override
public void addListener(ILabelProviderListener listener) {
}
@Override
public void dispose() {
}
@Override
public boolean isLabelProperty(Object element, String property) {
return false;
}
@Override
public void removeListener(ILabelProviderListener listener) {
}
@Override
public Image getColumnImage(Object element, int columnIndex) {
return null;
}
@Override
public String getColumnText(Object element, int columnIndex) {
if (element instanceof jilu){
jilu xx = (jilu)element;
switch(columnIndex){
case 0:
return xx.getmingcheng();
}
}
return null;
}
}
新建一个数据的容器类,读取一行数据。
public class mcrongqi implements IStructuredContentProvider {
public Object[] getElements(Object inputElement) {
if(inputElement instanceof List){
return ((List<?>)inputElement).toArray();
}else{
return new Object[0];
}
}
public void dispose() {
}
public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
}
}
新建一个编辑类,允许在table中编辑数据。
public class bjmingcheng implements ICellModifier{
@Override
public boolean canModify(Object element, String property) {
return true;
}
@Override
public Object getValue(Object element, String property) {
jilu wp=(jilu) element;
switch(property){
case "mingcheng":
return wp.getmingcheng();
}
return null;
}
@Override
public void modify(Object element, String property, Object value) {
if(element==null){
return;
}
TableItem ti=(TableItem)element;
jilu wp=(jilu)ti.getData();
switch(property){
case "mingcheng":
wp.setmingcheng((String)value);
break;
}
tv.update(wp, null);
}
}
新建一个窗口编辑的类,可以弹出窗口,在编辑的内容返回到table中显示,我没有新建一个窗口,我返回的是字符串。
public class mcDialogCellEditor extends DialogCellEditor {
public mcDialogCellEditor(Composite parent, int style){
super(parent,style);
}
@Override
protected Object openDialogBox(Control cellEditorWindow) {
return "插件 项目";
}
}
把定义的类初始化:
tv.setLabelProvider(new mcbiaoqian());
tv.setContentProvider(new mcrongqi());
List<jilu> li=new ArrayList<jilu>();
li.add(new jilu());
li.add(new jilu());
tv.setInput(li);
String[] lm={"mingcheng"};
tv.setColumnProperties(lm);
tv.setCellModifier(new bjmingcheng());
CellEditor[] cell = new CellEditor[1];
cell[0]=new mcDialogCellEditor(table,SWT.BORDER);
tv.setCellEditors(cell);
猜您喜欢
- 麒麟9000S猛兽出笼:单核跑分测试揭秘..2024-03-19
- 迈向成功! 详解win11系统添加打印机的..2024-02-22
- 拯救UEFI固件,重拾Win10系统,详解恢复..2023-12-31
- 告别卡顿!Windows 10彻底清除缓存文件..2023-12-30
- 轻松告别垃圾,迈向Win11全新世界:电..2023-12-25
- 解锁全新体验:Windows 11截图操作详解..2023-12-24
相关推荐
- 系统城简单几步解决win10笔记本电池图..2021-07-24
- 升级Win11提示错误:此版本Windows不支持..2022-09-20
- LOL S8最新狂暴之心 凯南符文点法&..2023-10-11
- Win7电脑无键盘如何使用虚拟键盘拯救..2023-12-12
- 精巧时尚,ThinkPad笔记本:工作与娱乐..2023-12-19
- 给Mac文件重命名快捷键是什么 轻松给..2021-05-05