2009-11-06 133 views
2

我想從文本文件中加載一個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); 我不認爲這是正確的。有沒有人有辦法解決嗎?申請它!

回答

7

事實上,你將要使用的setLineWrap屬性如下:

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

看看這個例子(從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); 
    } 
}