gpt4 book ai didi

java - SWT 拖放支持 Text 小部件

转载 作者:行者123 更新时间:2023-12-04 07:07:25 24 4
gpt4 key购买 nike

我最近使用 SWT 编写了一个应用程序。在它的一个对话框中,我有几个小部件,其中之一是 Text,它旨在支持 DND 与其他小部件。我首先在同一个对话框(拖放源和拖放目标)上添加了对 2 Tree 小部件的 DND 支持。在为该 Text 小部件添加 DND 支持之前,我注意到在 Linux 平台 (gtk) 上,SWT Text 小部件自动获得拖放支持。也就是说,我已经可以从其他树小部件拖动并放置在此文本上(插入到那里的任何位置),以及从该文本中选择和拖动任何文本到其他树或文本小部件。

但是,这仅适用于 Linux 平台,不适用于 Windows。相同的程序,如果在 Windows 上运行,则不会对该文本小部件提供任何免打扰支持(树小部件当然具有免打扰支持,因为我专门为它们编写)。

所以这也是我想在 Windows 上实现的目标:

  • 在文本小部件中的任何位置放置文本。
  • 在下降之前和悬停时,能够清楚地看到插入符号的位置,即预期的下降位置。插入符号位置应随鼠标光标移动。
  • 支持文本小部件中的多行

  • 解决方案:
    DropTarget target = new DropTarget(sytledText, DND.DROP_MOVE | DND.DROP_COPY);
    target.setTransfer(new Transfer[] { TextTransfer.getInstance() });
    target.addDropListener(new StyleTextDropTargetEffect(sytledText));
  • 使用 StyledText 而不是 Text 小部件
  • 使用 StyledTextDropTargetEffect(或扩展它)并将其添加为 dr op 监听器
  • 最佳答案

  • &
  • AFAIK 在 Windows 中,您无法使用 Text 小部件轻松做到这一点。在放置时,您可以在最后一个光标位置或文本末尾插入文本。您可以考虑使用支持在任何位置放置和“插入符号悬停”的 StyledText 小部件。
  • Text 和 StyledText 都支持多行的 SWT.MULTI 样式。

  • 您可以在 SWT snippets 找到许多很棒的代码片段。页面,包括使用 StyledText 小部件进行拖放的示例。 DND in SWT也有很好的介绍.

    关于java - SWT 拖放支持 Text 小部件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/914654/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com