如何将输入数据从私有void GUI传输到java类中的ArrayList?

如何将输入数据从私有void GUI传输到java类中的ArrayList?,java,user-interface,arraylist,Java,User Interface,Arraylist,我需要帮助解决我的课堂专题中的一个具体问题。该项目的目标是创建一个程序,您可以在其中注册您拥有多少股份。需要的信息是公司名称、您拥有的股份数量及其各自的价值。我创建了一个GUI类和一个将信息传输到其中的类。输入来自一个私有的void。我很难找到一种方法将输入从私有void传输到它之外的类中的arraylist 下面是我如何在GUI类中初始化arraylist的 public class GUISharePortfolio_1 extends javax.swing.JFrame { Array

我需要帮助解决我的课堂专题中的一个具体问题。该项目的目标是创建一个程序,您可以在其中注册您拥有多少股份。需要的信息是公司名称、您拥有的股份数量及其各自的价值。我创建了一个GUI类和一个将信息传输到其中的类。输入来自一个私有的void。我很难找到一种方法将输入从私有void传输到它之外的类中的arraylist

下面是我如何在GUI类中初始化arraylist的

public class GUISharePortfolio_1 extends javax.swing.JFrame {

ArrayList<SharePackage.Share> Package = new ArrayList<SharePackage.Share>();
我在CompanyName、NumberOfShares和ValueOfShare下看到一个错误,上面写着“找不到符号”

应将信息传输到的公共类为:

    package shareportfolio;

import java.util.ArrayList;

public class SharePackage
{
    private ArrayList<Share> Package = new ArrayList<Share>();

public class Share
{
    private String companyname;
    private double numberofshares;
    private double valueofshare;

    Share(String companyname, double numberofshares, double valueofshare)
    {
        this.companyname = companyname;
        this.numberofshares = numberofshares;
        this.valueofshare = valueofshare;
    }

    public void setCompanyName(String name)
    {
        companyname = name;
    }

    public String getCompanyName()
    {
        return(companyname);
    }

    public void setNumberOfShares(double number)
    {
        numberofshares = number;
    }

    public double getNumberOfShares()
    {
        return(numberofshares);
    }

    public void setValueOfShare(double value)
    {
        valueofshare = value;
    }

    public double getValueOfShare()
    {
        return(valueofshare);
    }

}
一揽子股票组合;
导入java.util.ArrayList;
公共类共享包
{
private ArrayList Package=new ArrayList();
公开股
{
私有字符串companyname;
私人双倍股份;
私人股本的双重价值;
股份(字符串companyname,双倍股份数,双倍股份值)
{
this.companyname=companyname;
this.numberofshares=numberofshares;
此参数。valueofshare=valueofshare;
}
public void setCompanyName(字符串名称)
{
companyname=名称;
}
公共字符串getCompanyName()
{
返回(公司名称);
}
公开作废setNumberOfShares(双倍编号)
{
numberofshares=数量;
}
公开双getNumberOfShares()
{
申报表(股数);
}
public void setValueOfShare(双倍值)
{
价值共享=价值;
}
公共双价值共享()
{
收益(股票价值);
}
}
}


非常感谢您的帮助。

您有一个名为Package的字段,其类型为ArrayList。ArrayList没有名为CompanyName的方法。你可能想做的是:

Package.add(new SharePackage.Share(companyname, numberofshares, valueofshares));
您有两个名为“Package”的字段,因此不确定要添加到哪个字段。也许你的印象是,这些字段在某种程度上是相同的。事实并非如此


顺便说一句:在提交给任何人之前,一定要学习Java编码风格。您使用大写字母命名字段,这使得java程序员很难读取您的代码。

您有一个名为Package的字段,其类型为ArrayList。ArrayList没有名为CompanyName的方法。你可能想做的是:

Package.add(new SharePackage.Share(companyname, numberofshares, valueofshares));
您有两个名为“Package”的字段,因此不确定要添加到哪个字段。也许你的印象是,这些字段在某种程度上是相同的。事实并非如此


顺便说一句:在提交给任何人之前,一定要学习Java编码风格。您使用大写字母命名字段,这使得java程序员很难阅读您的代码。

user1207705这就是答案。我将其修改为:

String name;
    double number;
    double value;

    name = CompanyNameField.getText();
    number = Double.parseDouble(NumberOfSharesField.getText());
    value = Double.parseDouble(ValueOfShareField.getText());

    Package.add(new SharePackage.Share(name, number, value));

谢谢您的帮助,我将研究Java编码风格。

user1207705这就是答案。我将其修改为:

String name;
    double number;
    double value;

    name = CompanyNameField.getText();
    number = Double.parseDouble(NumberOfSharesField.getText());
    value = Double.parseDouble(ValueOfShareField.getText());

    Package.add(new SharePackage.Share(name, number, value));

谢谢您的帮助,我将研究Java编码风格。

您能提供您收到的确切错误(即堆栈跟踪)吗?您能提供您收到的确切错误(即堆栈跟踪)吗?