Java 在JTextPane中禁用换行

Java 在JTextPane中禁用换行,java,swing,Java,Swing,我找不到一个简单的方法来关闭JTextPane中的自动换行。我不能使用JTextArea,因为不同的文本需要不同的颜色。我有这些大而丑陋的线条,打开“自动换行”会变得更丑陋 JTextArea有一个setLineWrap()方法,但我无法为JTextPane找到它。为什么?好吧,我找到了一个简单的解决办法。将JTextPane放在带有边框布局的JPanel的中心。然后,将JPanel放入JScrollPane中 因此,层次结构如下所示: JScrollPane JPanel(带边框布局) JT

我找不到一个简单的方法来关闭JTextPane中的自动换行。我不能使用JTextArea,因为不同的文本需要不同的颜色。我有这些大而丑陋的线条,打开“自动换行”会变得更丑陋


JTextArea有一个setLineWrap()方法,但我无法为JTextPane找到它。为什么?

好吧,我找到了一个简单的解决办法。将JTextPane放在带有边框布局的JPanel的中心。然后,将JPanel放入JScrollPane中

因此,层次结构如下所示:

  • JScrollPane
  • JPanel(带边框布局)
  • JTextPane
JScrollPane包含它下面的所有内容,而JTextPane则位于它上面的所有内容的内部


我不知道为什么会这样,但确实如此。

我认为这样做的原因是,当文本窗格位于滚动窗格中带有边框布局(居中)的面板中时,其首选大小会增长到内容所需的大小(也就是说,borderlayout为其提供了所需的空间,并且由于它位于滚动窗格中,因此可以任意增长。当它直接位于面板或框架中时,其大小受面板/框架大小的限制。一旦文本长度>可用长度,JTextPane就开始包装单词,以使其适合可用空间(这是固定的)。说得好!(我必须多说几句话,所以不让我发表评论)