New GUI for booking and querying availability
[RRRRHHHH_Code] / ruralHouses / src / gui / listOfHousesGUI.java
index 0b6429b..e75b125 100644 (file)
@@ -21,6 +21,8 @@ import javax.swing.JTable;
 import javax.swing.table.DefaultTableModel;
 
 import java.awt.Component;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
 import java.sql.Date;
 import java.util.Enumeration;
 import java.util.LinkedList;
@@ -33,19 +35,20 @@ public class listOfHousesGUI extends JFrame {
        private JPanel contentPane;
        private JTable table;
        private DefaultTableModel tableModel;
-
-       /**
+       private Vector<RuralHouse> houses;
+       /**
         * Create the frame.
         */
-       public listOfHousesGUI(Vector<RuralHouse> houses) {
+       public listOfHousesGUI(Vector<RuralHouse> rhs) {
                try {
-                       init(houses);
+                       this.houses=rhs;
+                       init();
                } catch (Exception e) {
                        e.printStackTrace();
                }
        }
 
-       private void init(Vector<RuralHouse> houses) throws Exception {
+       private void init() throws Exception {
                setBounds(100, 100, 600, 450);
                contentPane = new JPanel();
                contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
@@ -65,17 +68,31 @@ public class listOfHousesGUI extends JFrame {
                scrollPane.setBounds(23, 113, 536, 271);
                contentPane.add(scrollPane);
 
-               table = new JTable();
+               JTable 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[] {
                                "House Name", "Bedrooms", "Kitchens", "Baths", "Parkings",
                                "Livings" });
+               
                //Maybe there is a better way to avoid interaction.
                //table.setEnabled(false);
                table.setModel(tableModel);
                Enumeration<RuralHouse> en = houses.elements();
                RuralHouse rh;
-
+               table.addMouseListener( new MouseAdapter(){                     
+                       @Override
+                       public void mouseClicked(MouseEvent arg0) {
+                               int row = table.getSelectedRow();
+                               HouseFeaturesGUI feat = new HouseFeaturesGUI(houses.get(row),null,null);
+                               feat.setVisible(true);
+                       }
+               });
                while (en.hasMoreElements()) {
                        rh = en.nextElement();
                        Vector<Object> row = new Vector<Object>();