- 问题:我无法将数组中输入的值返回到预览文本框
- 理想的解决方案:用户按下刷新按钮,该框中将填充数组中的对象。
- JDK:1.8
工作命令行版本代码:
public static void printAll(Member[] platoon){
//System.out.println("You are in the third loop");
for (int cntr=0;cntr<platoon.length;cntr++){
System.out.println("Member Name: " + platoon[cntr].getName() + " " + "Join Date: " + platoon[cntr].getJoinDate());
}
}
上面的代码采用对象类型 Members 的实例化数组,并通过 get 方法返回存储在每个 Member 中的每个值(String Name, int day, int Month, intyear);。
我正在尝试使用 Java 的 GUI 功能做同样的事情。我的代码大约有 300 行,我绝对愿意将其全部发布,因为这是阻止我完成项目的最后一件事。
下面我编写了一个 Action 事件,我想用它来设置预览文本字段中的文本与排数组的当前内容。我试图做的就是将上面代码的打印输出放入框中,它不喜欢 VOID 类型,所以我将其切换为返回类型 String。现在看来我不能将 For 循环的结果存储为字符串?我萨利错过了一些重要的东西。
图形用户界面代码:
}else if(event.getSource() == refreshButton){
displayText.setText(setPreview(platoon));
}
public static String setPreview(Member[] platoon){
//System.out.println("You are in the fourth loop");
preview = (for (int cntr=0;cntr<platoon.length;cntr++){
System.out.println("Member Name: " + platoon[cntr].getName() + " " + "Join Date: " + platoon[cntr].getJoinDate()););
return preview;
}
}
感谢大家的帮助,我们将不断更新此 OP,以帮助 future 的 Stack Overflow 成员解决此问题。
最佳答案
循环不返回结果,有趣的想法,Java 就是不这样做。
你可以...
使用StringJoiner
StringJoiner joiner = new StringJoiner("\n");
for (int cntr=0;cntr<platoon.length;cntr++){
joiner.add("Member Name: " + platoon[cntr].getName() + " " + "Join Date: " + platoon[cntr].getJoinDate());
}
return joiner.toString();
你可以...
使用JTextArea#append
for (int cntr = 0; cntr < platoon.length; cntr++) {
ta.append("Member Name: " + platoon[cntr].getName() + " " + "Join Date: " + platoon[cntr].getJoinDate() + "\n");
}
你可以...
使用JList
,它旨在呈现“东西”列表。
参见How to use lists了解更多详情
关于java - 如何将数组中的对象打印到文本字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30007995/