Я строю систему бронирования для притворного Gym, у меня есть класс для клиентов, один для сеансов Gym и менеджер сессий, который собирает сессии в HashMap
.
Каждая сессия имеет хэш-карту для сбора заказанных клиентов.У меня есть мастер-класс с графическим интерфейсом для выполнения различных функций.Я хотел бы иметь возможность открыть новый JPanel
/ JFrame
, содержащий Jlist
, который при выборе определенного сеанса отображает клиентов, которые были зарезервированы для него, однако я не смог найтисоответствующие методы для этого.
Соответствующий код ниже:
Класс клиента
public class Customer {
private final String name;
private final String payMethod;
public final UUID uniqueId;
/*
* Constructor for me.davehargest.weekendfitness.customer.struct.Customer
*
* @param String name The customers name
* @param int id The sequential ID Reference of the customer
*/
public Customer(String name, UUID uniqueId, String payMethod) {
this.name = name;
this.uniqueId = uniqueId;
this.payMethod = payMethod;
}
}
Класс сеанса
public class Session {
private int sessionId;
private String sessionName;
private double price; // Cost of the session per Person
private double totalEarnings; // Total Earnings of the Session (Number of People * @price
private Date sessionDate; //Date that the session takes place
private int classNumber = 1;
/*
* Generates a HashMap of the Customers that will be booked onto a class
*/
public Map <Integer, Customer> customers = new HashMap <>();
/**
* Session Constructor
* Creates a new instance of a session
*
* @param sessionId - An identification ID for the Exercise Session
* @param sessionName - A description of the actual exercise i.e. "Yoga"
* @param price - The cost to attend the session per person
* @param sessionDate
*/
public Session(int sessionId, String sessionName, double price, Date sessionDate)
{
this.sessionId = sessionId;
this.sessionName = sessionName;
this.price = price;
this.sessionDate = sessionDate;
totalEarnings = 0;
}
/*
* Method addCustomer
*
* @param Customer - Adds a new Customer to the Exercise Session
*/
public void addCustomer (Customer customer)
{
if (customers.size() >= 20){
System.out.println("Class is full");
} else {
customers.put(classNumber, customer); // Adds in a new Customer to the session ArrayList
totalEarnings += price; // Adds the per person cost to total fees
classNumber++;
System.out.println("Added: " + classNumber + customer);
}
}
Класс SessionManager
public class SessionManager {
/*
* A HashMap of all of the different Sessions that WeekEnd Fitness Offers
*/
public Map<Integer, Session> sessions = new HashMap<>();
private int sId = 1;
public SessionManager() {}
public void addSession(String sessionName, double price, String seshDate) throws ParseException {
SimpleDateFormat format = new SimpleDateFormat ("dd-MM-yyyy HH:mm");
sessionDate = format.parse(seshDate);
this.sessions.put(this.sId, new Session(sId, sessionName, price, sessionDate));
sId ++;
}
}
Я уверен, что это действительно простые вещи, но в настоящий момент это, по-видимому, за пределами моего понимания, любые советы или указатели будут с благодарностью, спасибо!