【问题标题】:How to display loop data on a textfield如何在文本字段上显示循环数据
【发布时间】:2016-09-04 19:58:45
【问题描述】:

我目前正在尝试在文本字段中显示数组中的数据,但只会显示数组中的一项。这是我目前所拥有的:

while (j<count){

    if (b != "no") {                 
        tfBIDI.setText(book[j]);
    } else { 
        tfBIDO.setText(book[j]);
    }
    j++;
}

是否可以在文本字段中显示数组中的所有数据?

感谢您的帮助。

【问题讨论】:

  • 如果b 是字符串,则不能使用“==”(或!=)运算符比较字符串。使用.equals()。此外,您需要附加到文本区域,而不是调用.setText()
  • 用您想要的消息构造一个String,然后设置文本字段的文本。或使用tfBIDO.setText(Arrays.toString(book));
  • 使用附加效果很好。非常感谢!

标签: java arrays javafx textfield


【解决方案1】:

试试这个...

String str_yes = "";
String str_no ="";
while (j<count){

  if (b.equals("no")) {  
      no += book[j];                     
   } else { 
   str_yes += book[j];
}
    j++;
   }

tfBIDI.setText(str_no);
tfBIDO.setText(str_yes);

【讨论】:

    【解决方案2】:

    你必须连接 book 数组的文本数据,并将 String 设置为 TextField 的文本一次。现在,您的 while 循环的每次迭代都会更新 TextFields 文本,因此您只能看到上次更新的值

     String[] data = {"1", "2", "3", "4"};
    
            StringBuilder sb = new StringBuilder();
            for (int idx = 0; idx < data.length; idx++) {
                sb.append(data[idx]);
                sb.append(", ");
            }
    
            String joinedData = sb.toString();
            //or 
            joinedData = Stream.of(data).collect(joining(","));
    
            textField.setText(joinedData);
    

    【讨论】:

    猜你喜欢
    • 2021-12-18
    • 1970-01-01
    • 1970-01-01
    • 2022-09-29
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    • 2021-07-20
    • 1970-01-01
    相关资源
    最近更新 更多