/** * This is the constructor for objects of the class ChangeReservationDialog * * @param markedSeats A collection of the seats marked in the room overview * @param show The show chosen in the result table * @param customerID The phonenumber of the customer * @param frame The frame the dialog was called from */ public ChangeReservationDialog( ArrayList<Seat> markedSeats, Show show, int customerID, MainFrame frame) { super("Reservation"); Container contentPane = getContentPane(); contentPane.setLayout(new BorderLayout()); Border standart = BorderFactory.createEmptyBorder(5, 5, 5, 5); JPanel north = new JPanel(); north.setBorder(standart); contentPane.add(north, BorderLayout.NORTH); JLabel topText = new JLabel( "Du forsøger at ændre en reservation til en med følgende " + markedSeats.size() + " sæder til: " + show.toString()); north.add(topText); JPanel center = new JPanel(); center.setLayout(new FlowLayout()); center.setBorder(standart); contentPane.add(center, BorderLayout.CENTER); String seatString = "<html>"; for (Seat s : markedSeats) { seatString += s.toString() + "<br>"; } seatString += "</html>"; JLabel seatText = new JLabel(seatString); seatText.setBackground(Color.WHITE); center.add(seatText); JPanel south = new JPanel(); south.setLayout(new BorderLayout()); south.setBorder(standart); contentPane.add(south, BorderLayout.SOUTH); JPanel phoneSection = new JPanel(); JLabel costumerText = new JLabel("Kundens telefonnummer: " + customerID); phoneSection.add(costumerText); JPanel buttons = new JPanel(); JButton cancel = new JButton("Annuller"); cancel.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { dispose(); } }); JButton reserve = new JButton("Ændre"); reserve.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { String number = "" + customerID; if (number.length() == 8) { Database.deleteReservations(show, customerID); for (Seat s : markedSeats) { Database.makeReservation(show, new Customer(Integer.parseInt(number)), s); } ChangeReservationDialog.this.dispose(); frame.reset(); } } }); buttons.add(cancel); buttons.add(reserve); south.add(buttons, BorderLayout.SOUTH); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); pack(); setVisible(true); }
public FavouritesView(Favourite favouritesModel) { super(); // Set the favourites model, and register ourselves as an observer, so we can be notified // of any changes to the model. _favouritesModel = favouritesModel; _favouritesModel.addObserver(this); this.setLayout(new BoxLayout(this, BoxLayout.Y_AXIS)); this.setBorder(BorderFactory.createTitledBorder("Favourites")); JPanel listPanel = new JPanel(); listPanel.setLayout(new BoxLayout(listPanel, BoxLayout.Y_AXIS)); listPanel.setBorder(BorderFactory.createEmptyBorder(5, 10, 5, 10)); _favouritesList = new JList(); _favouritesList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); _favouritesList.setLayoutOrientation(JList.VERTICAL); // Fetch initial favourited stations. updateList(); _favouritesScroller = new JScrollPane(_favouritesList); _favouritesScroller.setHorizontalScrollBarPolicy( ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); _favouritesScroller.setVerticalScrollBarPolicy( ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED); listPanel.add(_favouritesScroller); _remove = new JButton("Remove"); _remove.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent event) { // Remove the selected station from the user's favourites. Station station = (Station) _favouritesList.getSelectedValue(); if (station != null) { _favouritesModel.removeStation(station); } } }); _select = new JButton("Select"); _select.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent event) { // Display the selected favourite. if (_favouritesList.getSelectedValue() != null) _favouritesModel.setCurrentStation((Station) _favouritesList.getSelectedValue()); } }); JPanel buttonPanel = new JPanel(); buttonPanel.setBorder(BorderFactory.createEmptyBorder(0, 5, 0, 5)); buttonPanel.setLayout(new FlowLayout(FlowLayout.LEFT)); buttonPanel.setMaximumSize(new Dimension(Short.MAX_VALUE, 25)); buttonPanel.add(_select); buttonPanel.add(_remove); this.add(listPanel); this.add(buttonPanel); }