public abstract class AddBidItemView extends JPanel {

                public abstract Object getBidItem();

}

 

One of the implementation of AddBidItemView. We can provide as many implementations as needed. For each userInterface to be implemented we need to know about the abstract class AddBidItemView.

 

public class AddBidItemPanel extends AddBidItemView {

    public AddBidItemPanel() {

        createUI();

    }

   

  public Object getBidItem() {

        Item item = new Item();

        item.ownerName = ownerField.getText();

        item.itemName = itemField.getText();

        item.itemDesc = itemDscField.getText();

        item.startingBid = Double.parseDouble(bidField.getText());

        item.time = Integer.parseInt(timeField.getText());

 

        return item;

    }

   

   private void createUI() {

        timeField.setText("");

        timeField.setBounds(new Rectangle(138, 215, 120, 21));

        itemLabel.setText("Item Name:");

        itemLabel.setBounds(new Rectangle(45, 101, 68, 17));

        ownerField.setBounds(new Rectangle(139, 54, 120, 21));

        itemDescLabel.setText("Item Desc:");

        itemDescLabel.setBounds(new Rectangle(45, 138, 65, 21));

        itemField.setBounds(new Rectangle(139, 96, 160, 21));

        bidLabel.setText("Starting Bid:");

        bidLabel.setBounds(new Rectangle(46, 180, 75, 16));

        itemDscField.setBounds(new Rectangle(139, 137, 160, 21));

        timeLabel.setText("Time(minutes):");

        timeLabel.setBounds(new Rectangle(46, 215, 90, 23));

        bidField.setBounds(new Rectangle(138, 178, 120, 21));

        ownerLabel.setText("Owner Name:");

        ownerLabel.setBounds(new Rectangle(42, 54, 84, 20));

 

        setLayout(null);

        add(ownerLabel);

        add(itemLabel);

        add(ownerField);

        add(itemField);

        add(itemDescLabel);

        add(itemDscField);

        add(bidLabel);

        add(bidField);

        add(timeField);

        add(timeLabel);

    }

 

    JTextField timeField = new JTextField();

    JLabel ownerLabel = new JLabel();

    JLabel itemLabel = new JLabel();

    JTextField ownerField = new JTextField();

    JLabel itemDescLabel = new JLabel();

    JTextField itemField = new JTextField();

    JLabel bidLabel = new JLabel();

    JTextField itemDscField = new JTextField();

    JLabel timeLabel = new JLabel();

    JTextField bidField = new JTextField();

    JButton cancelButton = new JButton();

}