如何向用户显示数组

0 java arrays

我试图在类似JTextField的东西中显示有序数组的内容.

for (int i=0; i<array.length; i++) {
    this.textField.setText(array[i]);
}
Run Code Online (Sandbox Code Playgroud)

这不会有两个原因.第一个次要原因:如果数组长度为4,则jtextfield将其值重置4次,而不是将每个元素附加到最后一个.第二个原因:JTextField只接受字符串.我在Swing中找不到任何可以让我向用户显示整数的东西.有帮助吗?

Joh*_*itb 8

快速和肮脏的答案

for (int i=0; i<array.length; i++) {
    this.myJTextField.setText(this.myJTextField.getText() + ", " + array[i]);
}
Run Code Online (Sandbox Code Playgroud)

正确的方式

首先,调用成员变量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());
Run Code Online (Sandbox Code Playgroud)

规范阵列表示

或者,您可以使用此:

this.myJTextField.setText(Arrays.toString(array));
Run Code Online (Sandbox Code Playgroud)

它看起来像[1, 4, 5, 6].