如何在JTextPane中启用基于空格的换行?

时间:2016-08-12 07:04:48

标签: java swing jtextpane linewrap

是否可以在JTextPane中启用基于空格的换行?

使用JTextArea不是一个选项,因为我需要设置内容的样式。

2 个答案:

答案 0 :(得分:1)

这是使用JTextPane和换行创建默认JFrame的方法。正如camickr所说,这是默认行为。

var output =
    from order in doc.Descendants("order")
    select new XElement("order", 
        from orderItem in doc.Descendants("orderItem")
        group orderItem by (string)orderItem.Element("OrderId") into orderItems
        select new XElement("orderItem",
            new XElement("OrderId", orderItems.Key),
            new XElement("amount", orderItems.Sum(e => (int)e.Element("amount")))));                

答案 1 :(得分:0)

您可以为 JTextPane 文档添加一个侦听器,该文档执行换行,如下所示:

    pane.getDocument().addDocumentListener(new DocumentListener()
    {

          @Override
          public void insertUpdate(DocumentEvent e) 
          {
               if(e.getOffset() >= pane.getSize().getWidth() / pane.getFont().getSize())
               {
                     String str = pane.getText();
                     if(str.length() <= str.lastIndexOf(32))
                     {
                           try 
                           {
                                e.getDocument().insertString(str.lastIndexOf(32), "\n", pane.getCharacterAttributes());

                           } catch (BadLocationException e1) 
                           {
                                e1.printStackTrace();
                           }
                     }
               }                
          }

          @Override
          public void removeUpdate(DocumentEvent e) {}

          @Override
          public void changedUpdate(DocumentEvent e) {}

   });