Отображение петли по горизонтали в jlabel - PullRequest
0 голосов
/ 29 октября 2018
while (minValue <= maxValue){
        valueOutput.setText(""+minValue);
        minValue++;

Это цикл while, который я использую для отображения чисел из введенного минимального и максимального числа, но у меня возникают проблемы с правильным отображением чисел в jLabel

Числа отформатированы по вертикали и показывают только последний номер в jLabel

Ответы [ 2 ]

0 голосов
/ 29 октября 2018

setText () заменяет существующий текст.

То, что вы хотите сделать, - это создать строку в вашем цикле, и когда цикл завершится, вы установите текст в метке с текстом в строке. Для этого вы можете использовать класс StringJoiner:

StringJoiner sj = new StringJoiner(",");

while (minValue <= maxValue)
{
    sj.add( "" + minValue);
    minValue++;
}

valueOutput.setText( sj.toString() );
0 голосов
/ 29 октября 2018

Попробуйте это:

StringJoiner joiner=new StringJoiner();

while (minValue <= maxValue){
   joiner.add(String.valueOf(minValue++);
}
valueOutput.setText(joiner.toString());

Это создаст строку чисел, разделенных разделителем по умолчанию (,) , а затем будет помещен внутри метки (при условии, что valueOutput)

Вы можете заменить StringJoiner на StringBuilder, если вы не используете Java8

...