--- /dev/null
+package gui;
+
+import java.awt.Color;
+import java.awt.Component;
+import java.awt.Font;
+import java.awt.Rectangle;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
+import java.util.Enumeration;
+import java.util.Vector;
+
+import javax.swing.JFrame;
+import javax.swing.JLabel;
+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 domain.Offer;
+import domain.Owner;
+import domain.RuralHouse;
+
+public class listOfOffers extends JFrame {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+ private JPanel contentPane;
+ private JTable table;
+ private Owner owner;
+
+ private DefaultTableModel tableModel;
+ private Vector<Offer> offers = new Vector<Offer>();
+
+ /**
+ * Create the frame.
+ */
+ public listOfOffers(Owner own) {
+ setTitle("Adding requests");
+ this.owner = own;
+ try {
+
+ init();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ private void init() throws Exception {
+ setBounds(100, 100, 600, 450);
+ contentPane = new JPanel();
+ contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
+ setContentPane(contentPane);
+ contentPane.setLayout(null);
+ this.offers = new Vector<Offer>();
+ for (RuralHouse rh: this.owner.getRuralHouses()){
+ this.offers.addAll(rh.getAllOffers());
+ }
+ JLabel lblNewLabel = new JLabel();
+ lblNewLabel.setFont(new Font("Tahoma", Font.PLAIN, 27));
+ lblNewLabel.setBounds(23, 41, 536, 33);
+ contentPane.add(lblNewLabel);
+ if (this.offers.isEmpty())
+ lblNewLabel
+ .setText("There are not bookings to be confirmed or denied");
+ else
+ lblNewLabel.setText("List of offers:");
+ JScrollPane scrollPane = new JScrollPane();
+ scrollPane.setBounds(new Rectangle(45, 305, 320, 116));
+ scrollPane.setBounds(23, 113, 536, 271);
+ contentPane.add(scrollPane);
+
+ table = new JTable() {
+ private static final long serialVersionUID = 1L;
+
+ public boolean isCellEditable(int row, int column) {
+ return false;
+ };
+ };
+
+ scrollPane.setViewportView(table);
+ tableModel = new DefaultTableModel(null, new String[] { "Offer #",
+ "FirstDay", "LastDay", "Price" ,"RuralHouse"});
+
+ // Maybe there is a better way to avoid interaction.
+ // table.setEnabled(false);
+ table.setModel(tableModel);
+ table.addMouseListener( new MouseAdapter(){
+ @Override
+ public void mouseClicked(MouseEvent arg0) {
+ int row = table.getSelectedRow();
+ listOfBookingRequestsGUI feat = new listOfBookingRequestsGUI(offers.get(row));
+ feat.setVisible(true);
+ }
+ });
+ Enumeration<Offer> rhs = this.offers.elements();
+ while (rhs.hasMoreElements()) {
+ Offer of = rhs.nextElement();
+ Vector<Object> row = new Vector<Object>();
+ row.add(of.getOfferNumber());
+ row.add(of.getFirstDay());
+ row.add(of.getLastDay());
+ row.add(of.getPrice());
+ row.add(of.getRuralHouse().getHouseName());
+ 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 (!offers.get(row).isBooked()) {
+ setBackground(Color.ORANGE);
+ setForeground(Color.BLACK);
+ } else {
+ setBackground(Color.GREEN);
+ setForeground(Color.BLACK);
+ }
+
+ return this;
+ }
+ });
+
+ }
+}