如何在Java文本框中包装长长的文本行?

问题描述:

我想从文本文件中加载一个Java文本框。这听起来很简单,但最大的问题是如何在 末尾返回 例如在文本接近框边缘时添加换行符。如何在Java文本框中包装长长的文本行?

       | 
           | 
           | 
Java java java Java java java |Java java java Java java java 
           | 
           | 

让我们假装行代表文本框的边缘。它溢出了。

我该怎么做?

Java java java Java java java| 
Java java java Java java java| 
Java java java Java java java| 

目前我使用txtWords.setTxt(list); 我不认为这是正确的。有没有人有办法解决吗?申请它!

事实上,你将要使用的setLineWrap属性如下:

JTextArea t = new JTextArea(); 
t.setText(yourText); 
t.setLineWrap(true); 

看看这个例子(从here拍摄)

import java.awt.BorderLayout; 
import java.awt.Dimension; 

import javax.swing.JFrame; 
import javax.swing.JSplitPane; 
import javax.swing.JTextArea; 

public class MainClass extends JFrame { 

    static String sometext = "Text Text Text Text Text Text Text Text Text Text Text Text "; 

    public MainClass() { 
    super("Simple SplitPane Frame"); 
    setSize(450, 200); 
    setDefaultCloseOperation(EXIT_ON_CLOSE); 

    JTextArea jt1 = new JTextArea(sometext); 
    JTextArea jt2 = new JTextArea(sometext); 

    jt1.setLineWrap(true); 
    jt2.setLineWrap(true); 
    jt1.setMinimumSize(new Dimension(150, 150)); 
    jt2.setMinimumSize(new Dimension(150, 150)); 
    jt1.setPreferredSize(new Dimension(250, 200)); 
    JSplitPane sp = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, jt1, jt2); 
    getContentPane().add(sp, BorderLayout.CENTER); 
    } 

    public static void main(String args[]) { 
    MainClass ssb = new MainClass(); 
    ssb.setVisible(true); 
    } 
}