私はかなりのページ数のstackoverflowを読みましたが、別のクラスにコピーするためにArrayListを取得できませんでした。ここにシナリオがあります。私は図書館にあるものに似ていますが、より簡単な(学校用の)ブックセーフなアプリを作っています。あるクラスから別のクラスへのArrayList
私は、メインメニュー/オプションのスイングを設定したメインライブラリクラス(メイン)を持っています。
次のように私は新しい書籍のコンストラクタを持つBookクラスを持っている:(WindowBuilderで構築された)ライブラリクラスの
public class Livre {
private String titre;
private String soustitre;
private String auteur;
private String editeur;
private String collection;
private String isbn;
private long cup;
private double prixDeVenteSuggere;
private double prixVente;
private int nbPages;
private boolean disponible;
public Livre(String titre, String soustitre, String auteur, String editeur, String collection, String isbn, long cup, double prixDeVenteSuggere, double prixVente, int nbPages, boolean disponible){
this.titre = titre;
this.soustitre = soustitre;
this.auteur = auteur;
this.editeur = editeur;
this.collection = collection;
this.isbn = isbn;
this.cup = cup;
this.prixDeVenteSuggere = prixDeVenteSuggere;
this.prixVente = prixVente;
this.nbPages = nbPages;
disponible = true;
}
public Livre() {
}
public String getTitre() {
return titre;
}
public void setTitre(String titre) {
this.titre = titre;
}
public String getSoustitre() {
return soustitre;
}
public void setSoustitre(String soustitre) {
this.soustitre = soustitre;
}
public String getAuteur() {
return auteur;
}
public void setAuteur(String auteur) {
this.auteur = auteur;
}
public String getEditeur() {
return editeur;
}
public void setEditeur(String editeur) {
this.editeur = editeur;
}
public String getCollection() {
return collection;
}
public void setCollection(String collection) {
this.collection = collection;
}
public String getIsbn() {
return isbn;
}
public void setIsbn(String isbn) {
this.isbn = isbn;
}
public long getCup() {
return cup;
}
public void setCup(long cup) {
this.cup = cup;
}
public double getPrixDeVenteSuggere() {
return prixDeVenteSuggere;
}
public void setPrixDeVenteSuggere(double prixDeVenteSuggere) {
this.prixDeVenteSuggere = prixDeVenteSuggere;
}
public double getPrixVente() {
return prixVente;
}
public void setPrixVente(double prixVente) {
this.prixVente = prixVente;
}
public int getNbPages() {
return nbPages;
}
public void setNbPages(int nbPages) {
this.nbPages = nbPages;
}
public boolean isDisponible() {
return disponible;
}
public void setDisponible(boolean disponible) {
this.disponible = disponible;
}
}
オプション#1が開き、「新規」ボタンを持っています第2のJFrame
はその本に関するすべての情報を入力する。このJFrame
クラスの
、私は次のようにオブジェクトとして追加するJTextFields
上の入力を確認するために、確認ボタンにactionListener
を追加しました:
public void confirmerLivre(){
l = new Livre(txtTitre.getText(), txtSousTitre.getText(), txtAuteur.getText(),
txtEditeur.getText(), txtCollection.getText(), txtISBN.getText(),
Long.parseLong(txtCodebar.getText()), Double.parseDouble(txtPrixMSRP.getText()),
Double.parseDouble(txtPrix.getText()), Integer.parseInt(txtPages.getText()), true);
confirmerLivre.add(l); /// confirmerLivre is defined as an ArrayList
}
私は私の頭をラップすることはできませんどのような2番目のJFrame
クラスからArrayList
confirmerLivreを取得し、それをメインのJFrame
クラスにプッシュして、他のオプションでさらに操作することができます。
ご協力いただきますようお願い申し上げます。 は
非常にクールなこのためにどうもありがとうございました、クラス間のArrayListへのアクセス権を持つ以下の答えがありますおかげでそのグローバルスコープは、あなたのゲッター/セッターメソッドで、教師が見る必要があるものです。再度ありがとう –