2017-01-11 10 views
2

私は市販のソフトウェアを作成していて、複数のJTextBoxフィールドの情報をArrayに書き込む必要がありました。JTextFieldsからJava、2D String Arrayを埋めました

私は配列を作成 - 私は各書籍の列、新しい本を紙料に添加されるべきで自動インクリメントたびに[BookLines]でのJTextFieldを次の中からユーザによって追加された情報を保存したい

public String[][] BookAttributes = new String[BookRows][BookLines]; 

を。

private JTextField tfBookName; 
private JTextField tfBookCost; 
private JTextField tfBookYearOfPublication; 
private JTextField tfBookPublishingHouse; 
private JTextField tfBookISBN; 
private JTextField tfBookAuthor; 
private JTextField tfBookNrOfPages; 

残念ながら、私は残念ながら、これをまとめて解決策を見つけることはできません。

ありがとうございました。

ありがとうございました!

答えて

3

あなたが正しく理解していれば、NameCostなどのような情報をBookのように保存することを検討しています。

しかし、上記の場合には、あなたがこのようになります 2-D String Arrayを作成している:

Location (0,0) of array -> "foo" 
Location (0,1) of array -> "bar" 
... 
... 

は、あなたが実際に必要なのは、クラスが言う異なる属性に関する情報を保持することができBookです。次のようにさまざまな書籍の詳細を

int bookRows = 100; 
Book[] booksInfo = new Book[bookRows]; 

そして単にstroingためforループをコーディング:次のような何か:

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 */ 
    ... 
} 

次は、このようなこのクラスの配列を作成することができます

for(int i = 0; i < bookRows; i++) { 
    Book book = new Book(); 

    book.setBookName(tfBookName); 
    ... 
    ... 

    booksInfo[i] = book; 
} 

BookクラスのtoString()メソッドをオーバーライドするには、書籍のさまざまな属性を単純にSystem.out.println(...)。ここで

は、コードスニペットです:

@Override 
public String toString() { 
    return new StringBuilder().append("BookName: ").append(bookName) 
           .append(" | Book Cost: ").append(bookCost).toString(); 
} 
+0

@Helvijsあなたが直面している問題は何ですか? – user2004685

+0

私はこれを試しましたが、 book.setBookName(tfBookName.getText()); は、タイプブックから非静的メソッドへの静的参照を作成できないというエラーが表示されます。だからEclipseはsetBookNameメソッドを静的にしたいと思っています(これはsetterであるため静的である必要はないと思います)。 @ user2004685 – Helvijs

+0

@Helvijs 'main()'関数の中ですべてをやっていますか? – user2004685

関連する問題