我正在创建一个商业软件并陷入困境,我需要使用来自多个JTextBox字段的信息填充数组。
我创建了一个数组 -
public String[][] BookAttributes = new String[BookRows][BookLines];
我希望保存用户添加的信息,以便在每本书的[BookLines]列中跟随JTextFields,每次将新书添加到库存时都应自动增加。
private JTextField tfBookName;
private JTextField tfBookCost;
private JTextField tfBookYearOfPublication;
private JTextField tfBookPublishingHouse;
private JTextField tfBookISBN;
private JTextField tfBookAuthor;
private JTextField tfBookNrOfPages;
不幸的是,我无法找到解决方案如何将这一切放在一起。
任何帮助表示赞赏。
谢谢!
答案 0 :(得分:3)
如果我理解正确,那么您希望将Book
,Name
等Cost
信息保存到数组中。
但是,在上面的例子中,您创建的2-D String Array
看起来像这样:
Location (0,0) of array -> "foo"
Location (0,1) of array -> "bar"
...
...
你真正需要的是一个班级,Book
,它可以保存有关不同属性的信息。如下所示:
public class Book {
private String bookName;
private String bookCost;
private String bookYearOfPublication;
private String bookPublishingHouse;
private String bookISBN;
private String bookAuthor;
private String bookNrOfPages;
/* Constructor, Getter, Setters */
...
}
接下来,您可以像这样创建此类的数组:
int bookRows = 100;
Book[] booksInfo = new Book[bookRows];
简单地编写一个for
循环来编写不同的书籍详细信息,如下所示:
for(int i = 0; i < bookRows; i++) {
Book book = new Book();
book.setBookName(tfBookName);
...
...
booksInfo[i] = book;
}
如果您只想使用toString()
打印任意图书的不同属性,则可以进一步覆盖Book
课程的System.out.println(...)
方法。
以下是代码段:
@Override
public String toString() {
return new StringBuilder().append("BookName: ").append(bookName)
.append(" | Book Cost: ").append(bookCost).toString();
}