/**
   * 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);
  }
示例#2
0
  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);
  }