上下文
目前,我有一个像这样创建的 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/