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 = "\n";
                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("\n");
               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);//高度

            }
        });

 

 

 

 

 

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM