如何解决通过 JButton 将 ArrayList 打印到 JTextField
我创建了一个图书馆类,其中有一个名为 booklist 的书籍 ArrayList。
foreach (Transform child in _Canvas.transform)
GameObject.Destroy(child.gameObject);
我创建了一个打印方法,它非常适合将 ArrayList 打印到控制台。
public class Library {
//Fields
String libraryName;
ArrayList<Book> booklist;
//Constructor
public Library() {
this.libraryName = "Mt Baker";
}
public Library(String libraryName) {
this.libraryName = libraryName;
this.booklist = new ArrayList<Book>();
我不知道如何编写允许此方法将 ArrayList 打印到 JTextArea 的 actionPerformed 代码。我尝试了各种迭代:-
public void printBooks() {
for (Book s : booklist)
System.out.println("Title: \t" + s.getTitle() + "\t\tAuthor: " + s.getAuthor() +
"\tYear: " + s.getYear() + "\tISBN :" + s.getISBN());
}
libraryResult 是 JTextField,“显示库”是 JButton 侦听器事件。
此站点上的其他建议建议使用 append 和 toString,但我还没有设法使它们工作。非常感谢任何建议。
解决方法
GUI.this.yourButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String text = getAsString();
GUI.this.libraryResult.setText(text);
}
});
...
// Put this method somewhere else (where there is still access to your booklist)
public String getAsString() {
StringBuilder sb = new StringBuilder();
for (Book s : booklist) {
sb.append("Title: \t" + s.getTitle() + "\t\tAuthor: " + s.getAuthor() + "\tYear: " + s.getYear() + "\tISBN :" + s.getISBN());
}
return sb.toString();
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。