zoukankan      html  css  js  c++  java
  • TextArea控件实时计算总字数,总行数,和每行显示的最大字数

    textarea标签定义

     textarea标签定义一个多行的文本输入控件,也称为“文字域”或“文本域”文本区域中可容纳无限数量的文本,其中的文本的默认字体是等宽字体(通常是 Courier);语法如下:

                                                                                       ﹤textarea﹥这是一个多行文本输入框﹤textarea﹥

            textarea标签中自带了许多属性,可通过 rows 属性来规定文本域中显示的可见行数,可通过 cols 属性来规定文本域中可见的列数;例如设置textarea标签8行50列,代码书写为:﹤textarea rows="8" cols="50"﹥﹤/textarea﹥

    textarea标签属性

    1. name:为文本域指定名称;
    2. rows:规定文本域内可见的行数;
    3. cols:规定文本域内可见的行数;
    4. disabled:禁用文本区域,该属性会使文本输入框无效,无法输入文字并且会变成灰色;
    5. readonly:规定文本域为只读,使文本域无法输入文字; 

    代码如下:

       

    taSubtitlesWords.textProperty().addListener(new ChangeListener<String>() {//taSubitlesWords是文本域,文本的监听事件
    
                @Override
                public void changed(ObservableValue<? extends String> observable, String oldValue, String newValue) {
                    int colums = 0;
                    String str1 = taSubtitlesWords.getText();
                    String str2 = "
    ";
                    int total = 0;
                    for (String tmp = str1; tmp != null && tmp.length() >= str2.length();) {
                        if (tmp.indexOf(str2) == 0) {
                            total++;//求出敲“回车”的次数
                        }
                        tmp = tmp.substring(1);
                    }
                   String[] result= str1.split("
    ");
                   if(result.length>0){
                       
                       colums=result[0].length();
                     for (int i=0;i<result.length;i++) {
                        if (result[i].length() >colums) {//循环比较 算出最大行数
                            colums=result[i].length();
                        }
                    }
                   }
                    lbSubtitlesTotalWordNum.setText("" + (taSubtitlesWords.getText().length() - (total)));//设置总字数
                    tfSubtitlesWordLines.setText("" + (total + 1));//设置总行数
                    int words = Integer.parseInt(lbSubtitlesTotalWordNum.getText());//总字数
                    int lines = Integer.parseInt(tfSubtitlesWordLines.getText());//行数
                   
                    if (words != 0 && lines != 0) {
                       
                    }
                    tfSubtitlesWordNum.setText("" + colums);//设置每行最多显示字数
                    tfSubtitlesRollWidth.setText("" + colums);//宽度
                    tfSubtitlesRollHeight.setText("" + lines);//高度
    
                }
            });

     

  • 相关阅读:
    UI
    OC之block
    web前端开发学习
    OC面向对象下之文件
    UIButton
    视图
    frame和bounds
    UIView
    UIWindow
    Hello friends!
  • 原文地址:https://www.cnblogs.com/wth1129/p/7070536.html
Copyright © 2011-2022 走看看