Java 如何在JTextPane中动态生成新行?
当用户键入内容并到达屏幕/帧的末尾时,如何让JTextPane创建新行?以下是我所拥有的:Java 如何在JTextPane中动态生成新行?,java,swing,newline,jtextpane,Java,Swing,Newline,Jtextpane,当用户键入内容并到达屏幕/帧的末尾时,如何让JTextPane创建新行?以下是我所拥有的: JFrame frame = new JFrame("Frame"); JTextPane pane= new JTextPane (); JPanel panel = new JPanel(new BorderLayout()); panel.add(pane); JScrollPane scrollBar = new JScrollPane(panel); scrollBar.set
JFrame frame = new JFrame("Frame");
JTextPane pane= new JTextPane ();
JPanel panel = new JPanel(new BorderLayout());
panel.add(pane);
JScrollPane scrollBar = new JScrollPane(panel);
scrollBar.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED);
frame.add(scrollBar, BorderLayout.CENTER);
请注意,这不适用于JTextPane中的某些固定字符串,这意味着该窗格默认为空,文本由用户输入添加。当用户正在键入某个内容,并且单词已到达屏幕的末尾时,文本应继续在新行上,而不是继续在同一行上…我不明白人们为什么一直问这个问题。JTextPane通常包装单词:
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
JFrame mainFrame = new JFrame("test");
mainFrame.setSize(100, 100);
mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container pane = mainFrame.getContentPane();
JTextPane jtp = new JTextPane();
JScrollPane scroll = new JScrollPane(jtp);
pane.add(scroll);
mainFrame.setVisible(true);
}
});
}
您可以使用
JTextArea
并调用setWrapStyleWord(true)
我必须使用JTextPane如果我记得,你可以使用边框布局将JTextPane
添加到JPanel
,然后将JPanel
添加到JScrollPane
看看这个解决方案:@MadProgrammer谢谢你的回复,我不确定我是否知道在哪里添加JTextPane。我是将其添加到JPanel还是BorderLayout?我已经更新了上面的代码