代码之家  ›  专栏  ›  技术社区  ›  Bryan Harrington

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

  •  2
  • Bryan Harrington  · 技术社区  · 16 年前

    我想从文本文件中加载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); 我认为这是不对的。有人有解决办法吗?赞成!

    2 回复  |  直到 16 年前
        1
  •  7
  •   broschb    16 年前

    实际上,您需要使用setLinwrap属性,如下所示:

    JTextArea t = new JTextArea();
    t.setText(yourText);
    t.setLineWrap(true);
    
        2
  •  0
  •   Mark    16 年前

    看看这个例子(取自 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);
      }
    }