X-Git-Url: https://xp-dev.com/git/RRRRHHHH_Code/blobdiff_plain/d30bcc8a3c13bbf5144b03a644c1345865aed708..ccac9974c8183f7f0d30e8cabd84ee0386e8cd97:/ruralHouses/src/gui/listOfBookingRequestsGUI.java diff --git a/ruralHouses/src/gui/listOfBookingRequestsGUI.java b/ruralHouses/src/gui/listOfBookingRequestsGUI.java index 982d7f2..423ea4d 100644 --- a/ruralHouses/src/gui/listOfBookingRequestsGUI.java +++ b/ruralHouses/src/gui/listOfBookingRequestsGUI.java @@ -1,9 +1,12 @@ package gui; +import java.awt.Color; +import java.awt.Component; import java.awt.Font; import java.awt.Rectangle; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; +import java.rmi.Naming; import java.rmi.RemoteException; import java.util.Enumeration; import java.util.Vector; @@ -15,10 +18,12 @@ import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.border.EmptyBorder; +import javax.swing.table.DefaultTableCellRenderer; import javax.swing.table.DefaultTableModel; import common.BookingInterface; +import configuration.___IntNames; import domain.Booking; import domain.Offer; @@ -31,7 +36,7 @@ public class listOfBookingRequestsGUI extends JFrame { private JPanel contentPane; private JTable table; private Offer off; - private BookingInterface bookM =null; + private BookingInterface bookM = null; private DefaultTableModel tableModel; private Vector bookings = new Vector(); @@ -56,17 +61,12 @@ public class listOfBookingRequestsGUI extends JFrame { contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); setContentPane(contentPane); contentPane.setLayout(null); - - this.bookings= this.off.getBookings(); + + this.bookings = this.off.getBookings(); JLabel lblNewLabel = new JLabel(); lblNewLabel.setFont(new Font("Tahoma", Font.PLAIN, 27)); lblNewLabel.setBounds(23, 41, 536, 33); contentPane.add(lblNewLabel); - if (bookings.isEmpty()) - lblNewLabel - .setText("There are not bookings to be confirmed or denied"); - else - lblNewLabel.setText("List of bookings:"); JScrollPane scrollPane = new JScrollPane(); scrollPane.setBounds(new Rectangle(45, 305, 320, 116)); scrollPane.setBounds(23, 113, 536, 271); @@ -80,24 +80,34 @@ public class listOfBookingRequestsGUI extends JFrame { }; }; scrollPane.setViewportView(table); - tableModel = new DefaultTableModel(null, new String[] { - "Booking Number", "Booking Date","Name","E-mail", "Telephone" }); + tableModel = new DefaultTableModel(null, + new String[] { "Booking Number", "Booking Date", "Name", + "E-mail", "Telephone" }); - // Maybe there is a better way to avoid interaction. - // table.setEnabled(false); table.setModel(tableModel); JButton btnNewButton = new JButton("Confirm Booking"); btnNewButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { + try { + bookM = (BookingInterface) Naming + .lookup(___IntNames.BookingManager); + } catch (Exception e1) { + System.out + .println("Error accessing remote authentication: " + + e1.toString()); + } if (table.getRowCount() != 0 && table.getSelectedRow() != -1) { - if (table.getRowCount() != 0 && table.getSelectedRow() != -1) { + if (table.getRowCount() != 0 + && table.getSelectedRow() != -1) { Booking book = bookings.get(table.getSelectedRow()); try { bookM.acceptBooking(book); } catch (RemoteException e1) { e1.printStackTrace(); } + contentPane.setVisible(false); + } } @@ -109,20 +119,42 @@ public class listOfBookingRequestsGUI extends JFrame { JButton btnDenyAddition = new JButton("Deny Booking"); btnDenyAddition.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { + try { + bookM = (BookingInterface) Naming + .lookup(___IntNames.BookingManager); + } catch (Exception e1) { + System.out + .println("Error accessing remote authentication: " + + e1.toString()); + } if (table.getRowCount() != 0 && table.getSelectedRow() != -1) { Booking book = bookings.get(table.getSelectedRow()); try { - bookM.removeDenyBooking(book); + bookM.denyBooking(book); } catch (RemoteException e) { e.printStackTrace(); } + ((DefaultTableModel) table.getModel()).removeRow(table + .getSelectedRow()); + bookings.remove(book); } } }); + if (bookings.isEmpty()) + lblNewLabel + .setText("There are not bookings to be confirmed or denied"); + else { + lblNewLabel.setText("List of bookings:"); + if (this.bookings.get(0).getOffer().isBooked()) { + btnDenyAddition.setEnabled(false); + btnNewButton.setEnabled(false); + } + } + btnDenyAddition.setBounds(390, 395, 169, 25); contentPane.add(btnDenyAddition); - + Enumeration en = this.bookings.elements(); Booking book; while (en.hasMoreElements()) { @@ -135,6 +167,31 @@ public class listOfBookingRequestsGUI extends JFrame { row.add(book.getClient().getTelephone()); tableModel.addRow(row); } + table.setDefaultRenderer(Object.class, new DefaultTableCellRenderer() { + /** + * + */ + private static final long serialVersionUID = 1L; + + @Override + public Component getTableCellRendererComponent(JTable table, + Object value, boolean isSelected, boolean hasFocus, + int row, int col) { + super.getTableCellRendererComponent(table, value, isSelected, + hasFocus, row, col); + + if (!bookings.get(row).getOffer().isBooked()) { + setBackground(Color.RED); + setForeground(Color.BLACK); + } else { + setBackground(Color.GREEN); + setForeground(Color.BLACK); + } + + return this; + } + }); } + }