SWT笔记

1.使用Table,并使用TableEditor将其变为可编辑时,TableEditor的grabVertical和grabHorizontal要设置为true,否则Text控件会不显示,在对应的格子里没有光标显示。

table = new Table(composite, SWT.FULL_SELECTION );
		table.setBounds(0, 70, 249, 357);
		table.setHeaderVisible(true);

		table.setLinesVisible(true);
		
		editor = new TableEditor(table);
		editor.grabHorizontal = true;
		editor.grabVertical = true;
		TableColumn tblclmnNewColumn = new TableColumn(table, SWT.NONE);
		tblclmnNewColumn.setWidth(123);
		tblclmnNewColumn.setText("Field");
		
		TableColumn tblclmnNewColumn_1 = new TableColumn(table, SWT.NONE);
		tblclmnNewColumn_1.setWidth(122);
		tblclmnNewColumn_1.setText("Value");
		
		table.addSelectionListener(new SelectionAdapter() {
		      public void widgetSelected(SelectionEvent e) {
		        // Clean up any previous editor control
		        Control oldEditor = editor.getEditor();
		        
		        if (oldEditor != null)
		          oldEditor.dispose();
		        // Identify the selected row
		        final TableItem item = (TableItem) e.item;

		        if (item == null){
		        	return;
		        }
		        
		        // The control that will be the editor must be a child of the Table
		        final Text newEditor = new Text(table, SWT.NONE);
		        newEditor.setText(item.getText(1));
		        
		        newEditor.selectAll();
		        newEditor.setFocus();
		        newEditor.addModifyListener(new ModifyListener() {
		          public void modifyText(ModifyEvent me) {
		            Text text = (Text) editor.getEditor();
		            item.setText(1, text.getText());
		          }
		        });
		        editor.setEditor(newEditor, item, 1);
		      }
		    });

转载于:https://my.oschina.net/rouway/blog/42671

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值