使用提交按钮添加要在swing java中存储的项目

时间:2013-01-26 02:15:49

标签: java swing jframe

我创建了一个存储人员实例记录的商店。 当从CLI添加员工时,它可以工作,商店增加,当使用swing和CLI进行调试时,我可以看到新记录,但增量没有完成!

submit.addActionListener(new ActionListener() 
    {
        public void actionPerformed(ActionEvent e)
        {
            Store recordStore;
            recordStore = new Store(1);

                // here add the submitting text
                Employee em = new Employee("mn",'M', new Date(18,12,1991), "025", new Date(2,5,2009));

                if (!Store.isFull())
                    {

                    recordStore.add(em);
                    recordStore.displayAll();
                    System.out.println("Current size of store is " + Store.getCount());
                    }

                else
                {   JOptionPane.showMessageDialog(null, "The store seems to be full, please save it, and create a new one!"); }

商店添加功能

    public void add(Person p)
{
    // person p is added to array

    list[count++] = p;
}

2 个答案:

答案 0 :(得分:3)

我怀疑您的问题是每次运行ActionListener代码时都要创建一个新的Store实例。也许你想在类中创建一次Store实例并在ActionListener中添加它。

答案 1 :(得分:2)

public void add(Person p)
{
  // person p is added to array
  list[count++] = p;
}

如果在Store类中定义了上述函数,那么您正在初始化一个新实例

Store recordStore;
recordStore = new Store(1);

每一次。因此,您的列表计数将始终为1.因此Hovercraft Full Of Eels已建议 移动到ActionListener类之外并相应地更改代码。

或者使用static count来存储您添加的records of person instances计数。