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

📄 dndexample.java

📁 eclipse 的程序源码
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
	data.horizontalAlignment = GridData.FILL;	data.verticalAlignment = GridData.BEGINNING;	fileList.setLayoutData(data);}private void createDragWidget(Composite parent) {	parent.setLayout(new FormLayout());	Combo combo = new Combo(parent, SWT.READ_ONLY);	combo.setItems(new String[] {"Toggle Button", "Radio Button", "Checkbox", "Canvas", "Label", "List", "Table", "Tree"});	combo.select(LABEL);	dragControlType = combo.getSelectionIndex();	dragControl = createWidget(dragControlType, parent, "Drag Source");		combo.addSelectionListener(new SelectionAdapter() {		public void widgetSelected(SelectionEvent e) {			Object data = dragControl.getLayoutData();			Composite parent = dragControl.getParent();			dragControl.dispose();			Combo c = (Combo)e.widget; 			dragControlType = c.getSelectionIndex();			dragControl = createWidget(dragControlType, parent, "Drag Source");			dragControl.setLayoutData(data);			if (dragEnabled) createDragSource();			parent.layout();		}	});		Button b = new Button(parent, SWT.CHECK);	b.setText("DragSource");	b.addSelectionListener(new SelectionAdapter() {		public void widgetSelected(SelectionEvent e) {			Button b = (Button)e.widget;			dragEnabled = b.getSelection();			if (dragEnabled) {				createDragSource();			} else {				if (dragSource != null){					dragSource.dispose();				}				dragSource = null;			}		}	});		FormData data = new FormData();	data.top = new FormAttachment(0, 10);	data.bottom = new FormAttachment(combo, -10);	data.left = new FormAttachment(0, 10);	data.right = new FormAttachment(100, -10);	dragControl.setLayoutData(data);		data = new FormData();	data.bottom = new FormAttachment(100, -10);	data.left = new FormAttachment(0, 10);	combo.setLayoutData(data);		data = new FormData();	data.bottom = new FormAttachment(100, -10);	data.left = new FormAttachment(combo, 10);	b.setLayoutData(data);}private void createDropOperations(Composite parent) {	parent.setLayout(new RowLayout(SWT.VERTICAL));	final Button moveButton = new Button(parent, SWT.CHECK);	moveButton.setText("DND.DROP_MOVE");	moveButton.setSelection(true);	dropOperation = DND.DROP_MOVE;	moveButton.addSelectionListener(new SelectionAdapter() {		public void widgetSelected(SelectionEvent e) {			Button b = (Button)e.widget;			if (b.getSelection()) {				dropOperation |= DND.DROP_MOVE;						} else {				dropOperation = dropOperation & ~DND.DROP_MOVE;				if (dropOperation == 0 || (dropDefaultOperation & DND.DROP_MOVE) != 0) {					dropOperation |= DND.DROP_MOVE;					moveButton.setSelection(true);				}			}			if (dropEnabled) {				createDropTarget();			}		}	});		final Button copyButton = new Button(parent, SWT.CHECK);	copyButton.setText("DND.DROP_COPY");	copyButton.addSelectionListener(new SelectionAdapter() {		public void widgetSelected(SelectionEvent e) {			Button b = (Button)e.widget;			if (b.getSelection()) {				dropOperation |= DND.DROP_COPY;						} else {				dropOperation = dropOperation & ~DND.DROP_COPY;				if (dropOperation == 0 || (dropDefaultOperation & DND.DROP_COPY) != 0) {					dropOperation = DND.DROP_COPY;					copyButton.setSelection(true);				}			}			if (dropEnabled) {				createDropTarget();			}		}	});	final Button linkButton = new Button(parent, SWT.CHECK);	linkButton.setText("DND.DROP_LINK");	linkButton.addSelectionListener(new SelectionAdapter() {		public void widgetSelected(SelectionEvent e) {			Button b = (Button)e.widget;			if (b.getSelection()) {				dropOperation |= DND.DROP_LINK;						} else {				dropOperation = dropOperation & ~DND.DROP_LINK;				if (dropOperation == 0 || (dropDefaultOperation & DND.DROP_LINK) != 0) {					dropOperation = DND.DROP_LINK;					linkButton.setSelection(true);				}			}			if (dropEnabled) {				createDropTarget();			}		}	});		Button b = new Button(parent, SWT.CHECK);	b.setText("DND.DROP_DEFAULT");	defaultParent = new Composite(parent, SWT.NONE);	b.addSelectionListener(new SelectionAdapter() {		public void widgetSelected(SelectionEvent e) {			Button b = (Button)e.widget;			if (b.getSelection()) {				dropOperation |= DND.DROP_DEFAULT;				defaultParent.setVisible(true);						} else {				dropOperation = dropOperation & ~DND.DROP_DEFAULT;				defaultParent.setVisible(false);			}			if (dropEnabled) {				createDropTarget();			}		}	});		defaultParent.setVisible(false);	GridLayout layout = new GridLayout();	layout.marginWidth = 20;	defaultParent.setLayout(layout);	Label label = new Label(defaultParent, SWT.NONE);	label.setText("Value for default operation is:");	b = new Button(defaultParent, SWT.RADIO);	b.setText("DND.DROP_MOVE");	b.addSelectionListener(new SelectionAdapter() {		public void widgetSelected(SelectionEvent e) {			Button b = (Button)e.widget;			if (b.getSelection()) {				dropDefaultOperation = DND.DROP_MOVE;				dropOperation |= DND.DROP_MOVE;				moveButton.setSelection(true);				if (dropEnabled) {					createDropTarget();				}			}		}	});		b = new Button(defaultParent, SWT.RADIO);	b.setText("DND.DROP_COPY");	b.addSelectionListener(new SelectionAdapter() {		public void widgetSelected(SelectionEvent e) {			Button b = (Button)e.widget;			if (b.getSelection()) {				dropDefaultOperation = DND.DROP_COPY;				dropOperation |= DND.DROP_COPY;				copyButton.setSelection(true);				if (dropEnabled) {					createDropTarget();				}			}		}	});	b = new Button(defaultParent, SWT.RADIO);	b.setText("DND.DROP_LINK");	b.addSelectionListener(new SelectionAdapter() {		public void widgetSelected(SelectionEvent e) {			Button b = (Button)e.widget;			if (b.getSelection()) {				dropDefaultOperation = DND.DROP_LINK;				dropOperation |= DND.DROP_LINK;				linkButton.setSelection(true);				if (dropEnabled) {					createDropTarget();				}			}		}	});		b = new Button(defaultParent, SWT.RADIO);	b.setText("DND.DROP_NONE");	b.setSelection(true);	b.addSelectionListener(new SelectionAdapter() {		public void widgetSelected(SelectionEvent e) {			Button b = (Button)e.widget;			if (b.getSelection()) {				dropDefaultOperation = DND.DROP_NONE;				dropOperation &= ~DND.DROP_DEFAULT;				if (dropEnabled) {					createDropTarget();				}			}		}	});}private void createDropTarget() {	if (dropTarget != null) dropTarget.dispose();	dropTarget = new DropTarget(dropControl, dropOperation);	dropTarget.setTransfer(dropTypes);	dropTarget.addDropListener(new DropTargetListener() {		public void dragEnter(DropTargetEvent event) {			dropConsole.append(">>dragEnter\n");			printEvent(event);			if (event.detail == DND.DROP_DEFAULT) {				event.detail = dropDefaultOperation;			}			event.feedback = dropFeedback;		}		public void dragLeave(DropTargetEvent event) {			dropConsole.append(">>dragLeave\n");			printEvent(event);		}		public void dragOperationChanged(DropTargetEvent event) {			dropConsole.append(">>dragOperationChanged\n");			printEvent(event);			if (event.detail == DND.DROP_DEFAULT) {				event.detail = dropDefaultOperation;			}			event.feedback = dropFeedback;		}		public void dragOver(DropTargetEvent event) {			dropConsole.append(">>dragOver\n");			printEvent(event);			event.feedback = dropFeedback;		}		public void drop(DropTargetEvent event) {			dropConsole.append(">>drop\n");			printEvent(event);			String[] strings = null;			if (TextTransfer.getInstance().isSupportedType(event.currentDataType) ||			    RTFTransfer.getInstance().isSupportedType(event.currentDataType) ||			    HTMLTransfer.getInstance().isSupportedType(event.currentDataType)) {			    strings = new String[] {(String)event.data};			}			if (FileTransfer.getInstance().isSupportedType(event.currentDataType)) {				strings = (String[])event.data;			}			if (strings == null || strings.length == 0) {				dropConsole.append("!!Invalid data dropped");				return;			}						if (strings.length == 1 && (dropControlType == TABLE || 			                            dropControlType == TREE || 			                            dropControlType == LIST)) {				// convert string separated by "\n" into an array of strings 				String string = strings[0];				int count = 0;				int offset = string.indexOf("\n", 0);				while (offset > 0) {					count++;					offset = string.indexOf("\n", offset + 1);				}				if (count > 0) {					strings = new String[count + 1];					int start = 0;					int end = string.indexOf("\n");					int index = 0;					while (start < end) {						strings[index++] = string.substring(start, end);						start = end + 1;						end = string.indexOf("\n", start);						if (end == -1) end = string.length();					}				}			}			switch(dropControlType) {				case BUTTON_CHECK:				case BUTTON_TOGGLE:				case BUTTON_RADIO: {					Button b = (Button)dropControl;					b.setText(strings[0]);					break;				}				case TABLE: {					Table table = (Table)dropControl;					Point p = event.display.map(null, table, event.x, event.y);					TableItem dropItem = table.getItem(p);					int index = dropItem == null ? table.getItemCount() : table.indexOf(dropItem);					for(int i = 0; i < strings.length; i++) {						TableItem item = new TableItem(table, SWT.NONE, index);						item.setText(0, strings[i]);						item.setText(1, "dropped item");					}					TableColumn[] columns = table.getColumns();					for (int i = 0; i < columns.length; i++) {						columns[i].pack();					}					break;				}				case TEXT: {					Text text = (Text)dropControl;					for(int i = 0; i < strings.length; i++) {						text.append(strings[i]+"\n");					}					break;				}				case TREE: {					Tree tree = (Tree)dropControl;					Point p = event.display.map(null, tree, event.x, event.y);					TreeItem parentItem = tree.getItem(p);					for(int i = 0; i < strings.length; i++) {						TreeItem item = parentItem != null ? new TreeItem(parentItem, SWT.NONE) : new TreeItem(tree, SWT.NONE);						item.setText(strings[i]);					}					break;				}				case CANVAS: {					dropControl.setData("STRINGS", strings);					dropControl.redraw();					break;				}				case LABEL: {					Label label = (Label)dropControl;					label.setText(strings[0]);					break;				}				case LIST: {					List list = (List)dropControl;					for(int i = 0; i < strings.length; i++) {						list.add(strings[i]);					}					break;				}				default:					throw new SWTError(SWT.ERROR_NOT_IMPLEMENTED);			}		}		public void dropAccept(DropTargetEvent event) {			dropConsole.append(">>dropAccept\n");			printEvent(event);		}	});}private void createFeedbackTypes(Group parent) {	parent.setLayout(new RowLayout(SWT.VERTICAL));	Button b = new Button(parent, SWT.CHECK);	b.setText("FEEDBACK_SELECT");	b.addSelectionListener(new SelectionAdapter() {		public void widgetSelected(SelectionEvent e) {			Button b = (Button)e.widget;			if (b.getSelection()) {				dropFeedback |= DND.FEEDBACK_SELECT;						} else {				dropFeedback &= ~DND.FEEDBACK_SELECT;			}		}	});		b = new Button(parent, SWT.CHECK);	b.setText("FEEDBACK_SCROLL");	b.addSelectionListener(new SelectionAdapter() {		public void widgetSelected(SelectionEvent e) {			Button b = (Button)e.widget;			if (b.getSelection()) {				dropFeedback |= DND.FEEDBACK_SCROLL;						} else {				dropFeedback &= ~DND.FEEDBACK_SCROLL;			}		}	});			b = new Button(parent, SWT.CHECK);	b.setText("FEEDBACK_INSERT_BEFORE");	b.addSelectionListener(new SelectionAdapter() {		public void widgetSelected(SelectionEvent e) {			Button b = (Button)e.widget;			if (b.getSelection()) {				dropFeedback |= DND.FEEDBACK_INSERT_BEFORE;						} else {				dropFeedback &= ~DND.FEEDBACK_INSERT_BEFORE;			}		}	});		b = new Button(parent, SWT.CHECK);	b.setText("FEEDBACK_INSERT_AFTER");	b.addSelectionListener(new SelectionAdapter() {		public void widgetSelected(SelectionEvent e) {			Button b = (Button)e.widget;			if (b.getSelection()) {				dropFeedback |= DND.FEEDBACK_INSERT_AFTER;			} else {				dropFeedback &= ~DND.FEEDBACK_INSERT_AFTER;			}		}	});		b = new Button(parent, SWT.CHECK);	b.setText("FEEDBACK_EXPAND");	b.addSelectionListener(new SelectionAdapter() {		public void widgetSelected(SelectionEvent e) {			Button b = (Button)e.widget;			if (b.getSelection()) {				dropFeedback |= DND.FEEDBACK_EXPAND;						} else {				dropFeedback &= ~DND.FEEDBACK_EXPAND;			}		}	});}private void createDropTypes(Composite parent) {	parent.setLayout(new RowLayout(SWT.VERTICAL));	Button b = new Button(parent, SWT.CHECK);

⌨️ 快捷键说明

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