如何创建一个SWT小部件,在我的例子中是StyledText,即使在被禁用时也可以接收Drop事件。
textPane = new StyledText(parent, SWT.V_SCROLL | SWT.MULTI | SWT.WRAP);
textPane.setEnabled(false);
DropTarget target = new DropTarget(textPane, DND.DROP_DEFAULT | DND.DROP_MOVE);
target.setTransfer(new Transfer[] {TextTransfer.getInstance(),FileTransfer.getInstance()});
target.addDropListener(new DropTargetAdapter() {
@Override
public void drop(DropTargetEvent event) {
System.out.println(event);
}
});
现在创建的textPane将无法接收丢弃事件。如果我删除textPane.setEnabled(false)
它再次有效。我怎样才能让它始终发挥作用?
非常感谢^^
答案 0 :(得分:0)
此可能有效,我暂时无法测试:创建一个(已启用)Composite
,FillLayout
作为已禁用组件的父级,并处理在那里放弃事件。