как я могу разбить строку в окне сообщения JOptionpane - PullRequest
0 голосов
/ 22 сентября 2011

<script language="javascript">
<![CDATA[
    importPackage(javax.swing);
    importPackage(java.lang);
    System.out.println("Hello from JavaScript!");
    var optionPane = JOptionPane.showMessageDialog(null,'Deployment instruction = ' + Deployment_Instrution);
    ]]>
    </script>

здесь Deployment_Instruction - это переменная, в которой я сохраняю выходные данные запроса выбора SQL.выходные данные sql select длины запроса слишком велики, поэтому размер окна сообщения JOptionpane также увеличивается.для этого я хочу разбить большую строку в окне сообщения.Как я могу это сделать. Пожалуйста, помогите мне как можно скорее.заранее спасибо ....

1 Ответ

1 голос
/ 22 сентября 2011

Полагаю, вам придется разбить строку, вставив новые строки там, где это необходимо.Для такого простого приложения, как это, может понадобиться просто иметь базовую функцию, которая разбивается на пробелы, как только строка достигает максимальной длины, которую вы хотите.

Что-то вроде:

var boxText = wrapLines( 30, Deployment_Instruction );
JOptionPane.showMessageDialog( null, boxText );

Здесьмаксимальная длина будет 30 символов.С функцией wrapLines:

function wrapLines(max, text)
{
    max--;
    text = "" + text;
    var newText = "";
    var lineLength = 0;

    for (var i = 0; i < text.length; i++)
    {
        var c = text.substring(i, i+1);
        if (c == '\n')
        {
            newText += c;
            lineLength = 1;
        }
        else if (c == ' ' && lineLength >= max)
        {
            newText += '\n';
            lineLength = 1;
        }
        else
        {
            newText += c;
            lineLength++;
        }
    }
    return (newText);
}

Обратите внимание, что это даст «рваный» правый край, поэтому, если в конце строки есть очень длинное слово, оно может быть неудовлетворительным.

Кстати, в имени вашей переменной отсутствует буква 'c' - Инструкция? 1012 *.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...