我正在尝试以 JTextField 之类的方式显示有序数组的内容。
for (int i=0; i<array.length; i++) {
this.textField.setText(array[i]);
}
这不起作用有两个原因。第一个次要原因:如果数组长度为 4,则 jtextfield 会将其值重置 4 次,而不是将每个元素附加到最后一个元素。 第二个原因:JTextField 仅接受字符串。我找不到任何可以在 Swing 中使用的东西来让我向用户显示整数。有什么帮助吗?
最佳答案
快速而肮脏的答案
for (int i=0; i<array.length; i++) {
this.myJTextField.setText(this.myJTextField.getText() + ", " + array[i]);
}
正确的方式
首先,调用成员变量 JTextField
可能并不明智。由于该类已经这样调用,它会让读者感到困惑。例如,Java 状态成员变量中的命名约定类似于 myTextField
。 (注意:原始问题已更改)。
用户定义格式
请注意,您也可以通过简单地执行 ""+ number
将任何数字转换为字符串。如果您有很多字符串,请考虑使用字符串生成器,因为这样速度更快,并且不会多次更新 GUI 元素:(还修复了第一项之前的初始 ", "
,这发生在上面)
StringBuilder builder = new StringBuilder();
for (int i=0; i<array.length; i++) {
builder.append(array[i]));
if(i + 1 != array.length)
builder.append(", ");
}
this.myJTextField.setText(builder.toString());
规范数组表示
或者,您可以使用这个:
this.myJTextField.setText(Arrays.toString(array));
它看起来像[1, 4, 5, 6]
。
关于java - 如何向用户显示数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/325057/