上下文

目前,我有一个像这样创建的 JTextArea:

JTextArea descArea = new JTextArea();
descArea.setFont(style.getFont());
descArea.setLineWrap(true);
descArea.setName("descArea");
descArea.setToolTipText(resourceMap.getString("descArea.toolTipText"));
descArea.setText(model.getName());
JScrollPane descPane = new JScrollPane(descArea,
            JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
            JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);

当用户在该字段中输入内容时,它确实会换行(根据 descArea.setLineWrap(true) ),但通过像以下示例那样打断单词会有点笨拙:



我们软件的用户希望包装更聪明一点,并自动生成更像这样的东西:

一般的想法是,当他们键入最后一个“th”时,它们会在键入时连同插入点一起向下移动到第二行(以类似于几乎所有其他文本编辑器的方式)。

问题

我最初的想法是使用 Key Listener 手动实现这种包装,但我想知道是否有更好的方法/不同的组件可以更轻松地实现此功能?

最佳答案

它已经实现了。

  textArea.setWrapStyleWord(true);

关于java - 在 JTextArea 中启用更智能的文本换行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3596878/

10-11 02:34