【问题标题】:JTextPane - dynamic word wrapJTextPane - 动态自动换行
【发布时间】:2012-07-02 19:39:31
【问题描述】:

我尝试使用jTextPane1.setText("xxx xxxx xxx xxxxx xx xxx xxxx xxx etc...");,但JTextPane 根本没有自动换行,而是仅在一行中显示所有文本。 在 jTextPane1 上支持自动换行会很有趣...

所以我的问题是... 如何让JTextPane支持自动换行?

【问题讨论】:

  • 我不使用 JTextArea 因为我需要动态高度支持。
  • 我不太确定如何让 JTextArea 支持 rows++ :(
  • @user592704 我很困惑,所以你对 JTextArea 或 JTextPanes 有什么问题,因为我的答案两者都有,但是现在你说“不太确定如何让 JTextArea 支持 rows++”??
  • 我的问题是关于 JTextPane

标签: java swing word-wrap jtextpane


【解决方案1】:

尝试使用JTextArea 并在其实例上调用setWrapStyleWord(true);,这应该可以满足您的需要。

编辑:

如果您需要使用 JTextPane 作为要求(您说过要这样做),请查看一个类似的问题,我发现哪个答案应该有帮助:How is word-wrapping implemented in JTextPane, and how do I make it wrap a string without spaces?

【讨论】:

  • Emm... 问题是关于 JEditorPane 而不是 JTextPane :( 你的意思是使用 JEditorPane 代替?
  • 没有第一个链接确实讨论了使用 JTextPanes,但是,是的,JEditor 也可以这样做,如答案的第二个链接所示
  • @user592704,这个链接也可能有帮助:stackoverflow.com/questions/8980792/…
【解决方案2】:

我遇到了同样的问题,David Kroukamp 的解决方案非常有帮助。我将其更改为 JTextArea 并设置以下属性,如 tutorial 中所述:

    textArea.setLineWrap(true);
    textArea.setWrapStyleWord(true);

【讨论】:

  • -1。为什么这有任何赞成票?这根本不能回答这个问题。答案甚至没有说它是针对JTextArea 而不是JTextPane。这并不重要,因为同样,这个问题与JTextArea 一点关系都没有。
【解决方案3】:

为什么不使用 JTextArea 而不是 Pane?

http://docs.oracle.com/javase/1.5.0/docs/api/

public void setWrapStyleWord(boolean word)

如果文本区域是换行,则设置使用的换行样式。如果设置为 true,如果行太长而无法容纳在分配的宽度内,则行将在字边界(空白)处换行。如果设置为 false,行将在字符边界处换行。默认情况下,此属性为 false。参数: word - 指示是否应将单词边界用于换行另见:getWrapStyleWord()

【讨论】:

  • 因为我对文本窗格动态行++ 支持感兴趣。不是滚动
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多