当前位置: 首页 > 知识库问答 >
问题:

ArrayList从一个类到另一个类

段干河
2023-03-14

我已经阅读了很多stackoverflow的页面,但是我无法将我的ArrayList复制到另一个类中。下面是一个场景,我正在构建一个快速的图书储蓄应用程序,类似于图书馆中的应用程序,但更简单(用于学校)。

我有我的主库类(带有main),它为主菜单/选项设置了swing。

我有一个带有新书构造函数的book类,如下所示:

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;
}

在这个JFrame类中,我在确认按钮上添加了一个ActionListener,以确认JTextFields上要作为对象添加的输入,如下所示:

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
}

我无法理解的是,能够从第二个JFrame类中提取ArrayListConvironmerLivre,并将其推到我的主JFrame类中,以便用其他选项进一步操作。

任何帮助都将不胜感激。谢谢。

共有1个答案

林丁雷
2023-03-14

最快的修复可能是在主JFrame类中创建/公开这些方法:

  • getBookList()
  • setbooklist()

在创建弹出式JFrame时,需要在其构造函数中将主JFrame类的实例传递给它:

public PopupFrame extends JFrame {
  private MainFrame main;
  public PopupFrame(MainFrame main) {
    this.main = main;
  }
}
 类似资料:
  • 我是java新手,我正试图编写我的第一个“更大”的程序,包含几个类。我在类“CompetitionProgram”中创建了一个ArrayList并将其声明为private。 我的程序中需要这两个类(Event&ListOfEvents),这是需求之一。事件--它只是表示事件本身,比如事件名称和尝试次数(它是一个体育事件)。和ListOfEvents--它表示列表本身,并包含用于添加事件、删除事件和

  • 问题内容: 我有两个arrayLists,我试图从另一个中“减去”一个arrayList。例如,如果我有一个arrayList [1,2,3],而我试图减去[0,2,4],则结果arrayList应该为[1,3]。 这是我的代码。 我的代码在某些情况下可以正常工作,例如if ,它将给我的结果。但是,如果我尝试像和 我得到这个异常: 这是我想出的代码。我已经通过它进行了测试,对我来说我认为它应该起作

  • 问题内容: 我们没有只介绍ArrayLists数组和2D数组。我需要做的是能够从另一个类的ArrayList中读取。主要目的是在for循环中读取它们,并使用存储在其中的值显示项目。但是,我已经制作了这个快速程序来对其进行测试并不断得到此错误 这是我的代码 然后是ArrayList所在的类 如果有人可以指出正确的方向,那将非常有价值。我尝试调试,但是我可以获得任何帮助。 提前致谢。 问题答案: 严格

  • 问题内容: 我想使用AsyncTask从服务器获取Ftp文件夹列表,并将文件夹名称ArrayList返回到主类并更新微调适配器。 在主班我有带适配器的微调器 在AsyncTask中: 那么我应该如何用主类中的ArrayList替换AsyncTask中的arraylist并动态更新Spinner Updater? 问题答案: 您已经将ArrayList 设为 static ,也将其设为public。

  • 我目前正在与tkinter一起完成一项学校作业,为用户创建一个图形用户界面以输入他们的输入。我决定将输入分成不同的页面,以避免用户被问题淹没,并且不需要滚动 每一页都有一系列标签和条目,在一个右除数和一个左除数上分开,我已经设法在每一页上实现了这一点,付出了一些努力。这是我工作代码的简化版本: 然而,在将每个页面拆分为两个不同的Frame()容器时,我遇到了两个问题: 用ipadx和ipady设置

  • 我目前有一个ArrayList,其中包含“Product”对象,每个对象中包含一个字符串、整数和double。我希望能够使用参数搜索对象,找出与搜索参数匹配的ID(整数值),并将此对象复制到另一个ArrayList中。有没有可能通过迭代器实现这一点,或者有没有更简单的方法?