Я работаю над созданием графического интерфейса для магазина гаджетов, в котором хранятся сведения о гаджетах, таких как мобильные телефоны и MP3-плееры, но я не знаю, как вернуть и сохранить значения этих деталей в виде нового объекта такого типа вArrayList типа Gadget.
Я провел много проб и ошибок, но не мог быть уверен в том, действительно ли я добился какого-либо прогресса или нет.
import java.util.ArrayList;
import java.awt.event.*;
import javax.swing.*;
public class GadgetShop implements ActionListener
{
// instance variables - replace the example below with your own
private JTextField modelTextField;
private JTextField priceTextField;
private JTextField weightTextField;
private JTextField sizeTextField;
private JTextField initialCreditTextField;
private JButton addMobileButton;
private JFrame frame;
private ArrayList<Gadget> gadgets;
/**
* The GUI is created in the constructor.
*/
public GadgetShop()
{
// initialise instance variables
ArrayList<Gadget> gadgets = new ArrayList<Gadget>();
frame = new JFrame("The Gadget Shop");
Container contentPane = frame.getContentPane();
contentPane.setLayout(new FlowLayout());
modelTextField = new JTextField(15);
contentPane.add(modelTextField);
priceTextField = new JTextField(15);
contentPane.add(priceTextField);
weightTextField = new JTextField(15);
contentPane.add(weightTextField);
sizeTextField = new JTextField(15);
contentPane.add(sizeTextField);
initialCreditTextField = new JTextField(15);
contentPane.add(initialCreditTextField);
addMobileButton = new JButton("Add Mobile");
contentPane.add(addMobileButton);
addMobileButton.addActionListener(this);
frame.pack();
frame.setVisible(true);
}
/**
* The main method allows the program to be run without BlueJ.
*/
public static void main(String[] args)
{
GadgetShop calculator = new GadgetShop();
}
/**
* Find which button triggered the event and call the appropriate method.
*/
public void actionPerformed(ActionEvent event)
{
String command = event.getActionCommand();
if (command.equals("Add Mobile")) {
addMobile();
}
}
Ниже приведены getMethodsподробности об объекте
public String getModel()
{
String model
= modelTextField.getText();
return model;
}
public String getSize()
{
String size
= sizeTextField.getText();
return size;
}
public int getWeight()
{
int weight
= Integer.parseInt(weightTextField.getText());
return weight;
}
public double getPrice()
{
double price
= Double.parseDouble(priceTextField.getText());
return price;
}
public int getCredit()
{
int credit
= Integer.parseInt(initialCreditTextField.getText());
return credit;
}
Ниже приведен мой setMethod для хранения объекта типа Mobile в ArrayList гаджета, который, по моему мнению, неверен
public void addMobile()
{
String mobile =
getModel(); //Is this how I call the get Methods??
getPrice();
getWeight();
getSize();
getCredit();
gadgets = new Mobile();
gadgets.add(mobile); //I get an error with the .add part
}
}
Я ожидал ошибок, потому что былне уверен, правильно ли я создал ArrayList.