我正在开发SWT小部件,我有构建拖放功能。每当我拖动文件,它的下载链接应该被转移。
我使用以下代码做到了这一点。
现在我想要的是链接,我希望文件图标显示在链接旁边。例如,如果是word文档,则应显示word文件图标。
final DragSource dragSource = new DragSource(tv.getTree(), DND.DROP_MOVE | DND.DROP_COPY | DND.DragOver );
dragSource.addDragListener(new DragSourceAdapter(){
@Override
public void dragFinished(DragSourceEvent event) {
dragSource.dispose();
}
@Override
public void dragSetData(DragSourceEvent event) {
final TreeItem[] dndSelection = tv.getTree().getSelection();
final String[] sourceNames = new String[dndSelection.length];
String docName = "document";
for (int i = 0; i < dndSelection.length; i++) {
final TreeItem item = (TreeItem) dndSelection[i];
final PendingTreeNode node = (PendingTreeNode) item
.getData();
sourceNames[i] = node.getNodeId();
docName = node.getName();
}
final String filePath = AlfrescoFileUtil.getFileURL(sourceNames[0]);
final String viewDetailLink = AlfrescoFileUtil.getSearchFileURL(sourceNames[0]);
final String viewDetailsLabel = "View details";
StringBuffer finalS = new StringBuffer();
finalS.append("{\\rtf1\\ansi\\ansicpg1252\\deff0\\deflang1033{\\fonttbl{\\f0\\fnil\\fcharset0 Calibri;}}{\\colortbl ;\\red0\\green0\\blue255;}{\\*\\generator Msftedit 5.41.21.2509;}\\viewkind4\\uc1\\pard\\sa200\\sl276\\slmult1\\lang9\\f0\\fs22{\\field{\\*\\fldinst{HYPERLINK \"" + filePath + "\"}}{\\fldrslt{\\ul\\cf1 " + docName + "}}}");
finalS.append(" | ");
finalS.append("{\\field{\\*\\fldinst{HYPERLINK \"" + viewDetailLink + "\"}}{\\fldrslt{\\ul\\cf1 "+ viewDetailsLabel + "}}}}}");
event.data = finalS.toString();
}
});
dragSource.setTransfer(new Transfer[]{RTFTransfer.getInstance()});
dragSource.notifyListeners(SWT.DragDetect, event);
我想展示类似于下面的内容。
但是它现在显示了这样的东西,没有图标
您是否尝试过使用事件。图像
DragSourceEvent的属性?
return new DragSourceListener() {
@Override
public void dragStart(DragSourceEvent event) {
final Image image = xxx.getImage(); // get image
if (image != null)
event.image = image;
//else
// event.doit = false;
}
@Override
public void dragSetData(DragSourceEvent event) {
event.data = xxx.getData(); // set data
}
@Override
public void dragFinished(DragSourceEvent event) {
// On MOVE operations, data should be removed
}
};
您可以使用SWTProgram
类查找给定文件扩展名的程序图标:
Program program = Program.findProgram("file extension");
ImageData imageData = program.getImageData();
好吧,我有gridview,它从服务器中提取图像
问题内容: 我已经在Google和Stackoverflow上进行了搜索,但没有得到给出的示例。有人可以向我解释一下。 我想在表视图的最后一列中添加一个按钮,当单击它时,它应该触发一个侦听器并传递按钮行的对象。我只是没有从 gist.github.com 得到以下示例: 这是我目前的完整代码: 现在我必须创建的部分是可以理解的。但是如何将其分配给列? 我了解这一点: 但这不是: 问题答案: 为了能
提前谢谢。
正如你在下面的代码片段中看到的,我很难让蓝色覆盖贴在图像上,但是正如你所看到的,在左侧,由于某种原因,它没有贴在图片上。是的,我希望一整列的位置比另一列低/高一点,所以这里我尝试将整列1定位70px,但它撕裂了蓝色覆盖层和图像。有什么想法吗? null null
问题内容: 我仅使用1个数据插入json文件。 这就是我的json文件的外观。我只想在最后添加1个播放器。 我的问题是,如何在最后添加播放器?我也想知道如何更新 在匹配数组中。 问题答案: 只需解码json字符串,然后使用数组推送 对于你的情况 只需检查print_r($ arr);的值即可。我希望这就是你想要的。:)
本文向大家介绍php实例分享之html转为rtf格式,包括了php实例分享之html转为rtf格式的使用技巧和注意事项,需要的朋友参考一下 核心代码: 可能遇到的问题 Fatal error: Class 'COM' not found in ××× 解决办法: ·将php_com_dotnet.dll复制到php根目录ext文件夹下 ·php.ini 确保有此语句 [PHP_COM_DOTNET