【问题标题】:add newline after dnd without completely rewriting the class在 dnd 之后添加换行符而不完全重写类
【发布时间】:2017-11-28 05:30:48
【问题描述】:

我一直试图弄清楚如何让 jtextarea 在拖放后添加换行符。我想知道是否有一种简单的方法可以做到这一点,而不必重写任何基本的 dnd 东西,比如 transferhandler。也许通过 Jtextarea 上的监听器?

谢谢

例如,在将一些文本拖放到 Jtextarea 之后,将在插入的文本之后插入一个新行。 基本上,光标会移动到新行而不是插入文本的末尾。

更新: 所以我尝试在释放鼠标后添加一个鼠标监听器来添加一个换行符,但它不起作用,因为当拖放到文本区域时,程序不在焦点上。

【问题讨论】:

  • 请提供相关代码让大家看清楚你在问什么。请参考How to ask以获得更好的理解。
  • 答案很可能不会
  • 添加一个新行 where..which IDE are you used for dnd...你必须给我们更多信息..
  • jtextarea 文本中的换行符。 IDE 无关紧要。

标签: java swing


【解决方案1】:

因此,在插入一些文本后添加新行的最佳方法是将 DocumentListener 添加到 Jtextarea。

【讨论】:

  • 不,不是,正如您从新问题中发现的那样。问题是您正在从变异事件中变异Document,这可能会导致无休止的问题。另一个问题是,您不知道为什么要更新Document,没有足够的上下文可用。更好的解决方案是编写自己的TransferHandler,但不是接受“最佳”解决方案,而是尝试找到“最简单”的解决方案,这通常会导致更多的黑客攻击和不必要的工作。
  • 我建议你先看看TransferHandler
猜你喜欢
  • 1970-01-01
  • 2013-05-09
  • 2012-03-14
  • 2020-04-16
  • 2015-06-18
  • 1970-01-01
  • 1970-01-01
  • 2019-11-07
  • 1970-01-01
相关资源
最近更新 更多