我是Java GUI 编程的新手,目前正在制作一个简单的文本编辑器。
问题:
目前,当文本行的长度超过 TextPane 的宽度时,水平滚动条将打开并且继续键入,我想要的是,一旦该行变为 TextPane 的宽度长,就会自动从下一行继续键入。
例如就像在 MS-Word 或我在其中输入这个问题的编辑器框中一样。
最佳答案
文本换行是 JTextPane 的默认处理方式。尝试以下 SSCCE
中的代码,您将看到它有效:
import java.awt.*;
import javax.swing.*;
public class Main
{
public static void main(String[] args) throws Exception
{
EventQueue.invokeLater(new Runnable()
{
public void run()
{
JFrame frame = new JFrame("SSCCE");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add( new JScrollPane( new JTextPane() ) );
frame.setLocationByPlatform( true );
frame.setSize(100, 200);
frame.setVisible( true );
}
});
}
}
所以,如果你的代码不起作用,你就在做一些奇怪的事情。
查看No Wrap Text Pane有几种方法可以禁用换行并确保您的代码没有执行此操作。
如果您仍然无法解决问题,请发布SSCCE这说明了问题。
关于java - 如何让JTextPane(或JEditorPane)在文本行达到Pane的大小后自动换行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29449047/