怎么控制jtextarea每行只能输入10个字符,输入第11个字符的时候,自动换行

解决方案 »

  1.   

    用一个整弄用来记数 counter然后
    if(counter%10==0)
       换行操作
      

  2.   

    没玩过swing,有时间学学。
    jtextarea没有相关的设置方法?
      

  3.   

    jtextarea不能设置长度?设了长度之后不会自动换行?
      

  4.   

    textArea.setLineWrap(true); 
    textArea.setWrapStyleWord(true); 
      

  5.   


    import java.awt.event.KeyAdapter;
    import java.awt.event.KeyEvent;import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JTextArea;public class Demo extends JFrame {
      private JTextArea textArea;
      public static void main(String args[]) {
                 new Demo();
      }
      public Demo() {
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(200,200);
        JPanel panel = new JPanel();
        getContentPane().add(panel);
        panel.setVisible(true);
        panel.setSize(150, 150);
        panel.setLayout(null);
        final int column = 10;
        textArea = new JTextArea();
        textArea.addKeyListener(new KeyAdapter() {
          public void keyPressed(final KeyEvent e) {
            String text = textArea.getText().replace("\n", "");
            int line = text.length() / column;
            StringBuffer buffer = new StringBuffer();
            int i;
            for (i = 0; i < line; i++) {
              buffer.append(text.substring(i * column, (i + 1) * column));
              buffer.append("\n");
            }
            buffer.append(text.substring(i * column));
            textArea.setText(buffer.toString());
          }
        });
        textArea.setSize(100,100);
        panel.add(textArea);
        this.setVisible(true);
      }
    }