0

好的 - 我有以下代码 - 在加星标的部分我收到错误。ItemManager 类要求我用 Items 填充 ()。但是,当我这样做时,我收到无法将项目解析为变量的错误,我不确定如何解决该问题。

package presentation;
import javax.swing.*;

import business.ItemManager;

import java.awt.*;
import java.awt.event.*;
import business.*;

public class CreateInventoryUI extends JFrame {

    private static final long serialVersionUID = -3940805393905465307L;
    private JButton addBtn = new JButton ("Add Item to Inventory");
    private JButton showBtn = new JButton ("Display Inventory");

    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    CreateInventoryUI frame = new CreateInventoryUI("Inventory");
                    frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                    System.out.println("Exception - Sorry");
                }
            }
        });
    }


    public CreateInventoryUI(String name) { // title bar name
        super(name);

        // layout here
        Container container = getContentPane();
        FlowLayout layout = new FlowLayout();
        container.setLayout(layout);
        layout.setAlignment(FlowLayout.CENTER);
        container.add(new JButton("Display inventory"));
        container.add(new JButton("Add Item to Inventory"));


        addBtn.addActionListener (new ActionListener() {
            public void actionPerformed (ActionEvent event) {
                // controller code
                ***ItemManager mngr = new ItemManager();
                mngr.store(Items);***
            }
        });



        showBtn.addActionListener (new ActionListener() {
            public void actionPerformed (ActionEvent event) {
                // controller code
                ItemManager mngr = new ItemManager();
                mngr.get(Items);
            }
        });

        setDefaultCloseOperation(EXIT_ON_CLOSE);
        pack();
        setVisible(true);
    }


    /**
     * Constructs a <code>String</code> with all attributes
     * in name = value format.
     *
     * @return a <code>String</code> representation 
     * of this object.
     */
    public String toString()
    {
        final String TAB = "    ";

        String retValue = "";

        retValue = "CreateInventoryUI ( "
            + super.toString() + TAB
            + "addBtn = " + this.addBtn + TAB
            + "showBtn = " + this.showBtn + TAB
            + " )";

        return retValue;
    }


}
4

2 回答 2

1

您正在传递Itemsmngr.store但您没有在Items任何地方声明。[此外,按照惯例,类名以大写字母开头,变量以小写字母开头,因此您可能希望将变量命名为items,其类型为Items]

于 2012-06-18T20:02:47.193 回答
0

Items没有在您的代码示例中的任何地方定义。

此外,您可能想要添加这些按钮:

container.add(addBtn);
container.add(showBtn);

在您的CreateInventoryUI方法中,不为container.add().

于 2012-06-18T20:04:03.107 回答