implemented lacking GUIs and corrected errors
[RRRRHHHH_Code] / ruralHouses / src / gui / NewHouseGUI.java
index 4139091..bb72996 100644 (file)
@@ -9,12 +9,21 @@ import javax.swing.border.EmptyBorder;
 import javax.swing.GroupLayout;
 import javax.swing.GroupLayout.Alignment;
 
+import domain.HouseFeatures;
 import domain.Owner;
+import domain.RuralHouse;
+
 import javax.swing.JLabel;
 import javax.swing.JTextField;
 import javax.swing.LayoutStyle.ComponentPlacement;
 import javax.swing.SwingConstants;
 import javax.swing.JButton;
+import java.awt.Color;
+import java.awt.event.ActionListener;
+import java.awt.event.ActionEvent;
+import javax.swing.JTextPane;
+
+import businessLogic.HouseManager;
 
 public class NewHouseGUI extends JFrame {
 
@@ -24,6 +33,7 @@ public class NewHouseGUI extends JFrame {
        private static final long serialVersionUID = 1L;
        private JPanel contentPane;
        private Owner owner;
+       private JLabel lblCode ;
        private JTextField Code_f;
        private JLabel lblTown;
        private JTextField Town_f;
@@ -46,15 +56,16 @@ public class NewHouseGUI extends JFrame {
         * Create the frame.
         */
        public NewHouseGUI(Owner o) {
+               this.setTitle("New House");
+               setBackground(Color.WHITE);
                this.getContentPane().setLayout(null);
                owner = o;
-               setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
-               setBounds(100, 100, 450, 583);
+               setBounds(100, 100, 500, 583);
                contentPane = new JPanel();
                contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
                setContentPane(contentPane);
                
-               JLabel lblCode = new JLabel("House Code:");
+               lblCode = new JLabel("House Code:");
                lblCode.setHorizontalAlignment(SwingConstants.RIGHT);
                
                Code_f = new JTextField();
@@ -66,10 +77,12 @@ public class NewHouseGUI extends JFrame {
                Town_f = new JTextField();
                Town_f.setColumns(10);
                
-               lblDescription = new JLabel("Description:");
+               lblDescription = new JLabel("Description(optional):");
                lblDescription.setHorizontalAlignment(SwingConstants.RIGHT);
                
                description_f = new JTextField();
+               description_f.setToolTipText("");
+               description_f.setHorizontalAlignment(SwingConstants.LEFT);
                description_f.setColumns(10);
                
                lblKitchen = new JLabel("Kitchens:");
@@ -103,63 +116,84 @@ public class NewHouseGUI extends JFrame {
                baths_f.setColumns(10);
                
                btnRegister = new JButton("Register House");
+               btnRegister.addActionListener(new ActionListener() {
+                       public void actionPerformed(ActionEvent arg0) {
+                               try {
+                                       HouseManager hm = new HouseManager();
+                                       hm.registerNewHouse(Integer.parseInt(Code_f.getText()),
+                                                               owner, description_f.getText(),
+                                                               Town_f.getText() ,Integer.parseInt(rooms_f.getText()),
+                                                                               Integer.parseInt(kitchens_f.getText()),
+                                                                               Integer.parseInt(baths_f.getText()),
+                                                                               Integer.parseInt(lRooms_f.getText()),
+                                                                               Integer.parseInt(parkings_f.getText()) );
+                               
+                               }
+                               catch(NumberFormatException e ){
+                                       e.printStackTrace();
+                               }
+                       }
+               });
                GroupLayout gl_contentPane = new GroupLayout(contentPane);
                gl_contentPane.setHorizontalGroup(
                        gl_contentPane.createParallelGroup(Alignment.LEADING)
                                .addGroup(gl_contentPane.createSequentialGroup()
                                        .addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING)
+                                               .addGroup(gl_contentPane.createSequentialGroup()
+                                                       .addGap(140)
+                                                       .addComponent(btnRegister))
                                                .addGroup(gl_contentPane.createSequentialGroup()
                                                        .addContainerGap()
                                                        .addGroup(gl_contentPane.createParallelGroup(Alignment.TRAILING)
                                                                .addGroup(gl_contentPane.createSequentialGroup()
-                                                                       .addComponent(lblParkings, GroupLayout.PREFERRED_SIZE, 70, GroupLayout.PREFERRED_SIZE)
-                                                                       .addGap(18)
-                                                                       .addComponent(parkings_f, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
-                                                               .addGroup(gl_contentPane.createSequentialGroup()
-                                                                       .addComponent(lblRooms, GroupLayout.PREFERRED_SIZE, 70, GroupLayout.PREFERRED_SIZE)
-                                                                       .addGap(18)
-                                                                       .addComponent(rooms_f, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
-                                                               .addGroup(gl_contentPane.createSequentialGroup()
-                                                                       .addComponent(lblCode)
-                                                                       .addGap(18)
-                                                                       .addComponent(Code_f, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
-                                                               .addGroup(gl_contentPane.createSequentialGroup()
-                                                                       .addComponent(lblBaths, GroupLayout.PREFERRED_SIZE, 70, GroupLayout.PREFERRED_SIZE)
-                                                                       .addGap(18)
-                                                                       .addComponent(baths_f, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
+                                                                       .addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING)
+                                                                               .addGroup(gl_contentPane.createParallelGroup(Alignment.TRAILING)
+                                                                                       .addGroup(gl_contentPane.createSequentialGroup()
+                                                                                               .addComponent(lblTown, GroupLayout.PREFERRED_SIZE, 70, GroupLayout.PREFERRED_SIZE)
+                                                                                               .addGap(18)
+                                                                                               .addComponent(Town_f, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
+                                                                                       .addGroup(gl_contentPane.createParallelGroup(Alignment.TRAILING, false)
+                                                                                               .addGroup(gl_contentPane.createSequentialGroup()
+                                                                                                       .addComponent(lblLivings)
+                                                                                                       .addGap(18)
+                                                                                                       .addComponent(lRooms_f, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
+                                                                                               .addGroup(gl_contentPane.createSequentialGroup()
+                                                                                                       .addComponent(lblCode)
+                                                                                                       .addPreferredGap(ComponentPlacement.RELATED, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                                                                                                       .addComponent(Code_f, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))))
+                                                                               .addGroup(gl_contentPane.createSequentialGroup()
+                                                                                       .addComponent(lblBaths, GroupLayout.PREFERRED_SIZE, 70, GroupLayout.PREFERRED_SIZE)
+                                                                                       .addGap(18)
+                                                                                       .addComponent(baths_f, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)))
+                                                                       .addGap(29)
+                                                                       .addGroup(gl_contentPane.createParallelGroup(Alignment.TRAILING)
+                                                                               .addComponent(lblDescription)
+                                                                               .addComponent(description_f, GroupLayout.PREFERRED_SIZE, 164, GroupLayout.PREFERRED_SIZE)))
                                                                .addGroup(gl_contentPane.createSequentialGroup()
-                                                                       .addComponent(lblTown, GroupLayout.PREFERRED_SIZE, 70, GroupLayout.PREFERRED_SIZE)
+                                                                       .addComponent(lblKitchen, GroupLayout.PREFERRED_SIZE, 70, GroupLayout.PREFERRED_SIZE)
                                                                        .addGap(18)
-                                                                       .addComponent(Town_f, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)))
-                                                       .addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING)
+                                                                       .addComponent(kitchens_f, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
                                                                .addGroup(gl_contentPane.createSequentialGroup()
+                                                                       .addComponent(lblRooms, GroupLayout.PREFERRED_SIZE, 70, GroupLayout.PREFERRED_SIZE)
                                                                        .addGap(18)
-                                                                       .addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING)
-                                                                               .addComponent(lblDescription, GroupLayout.PREFERRED_SIZE, 90, GroupLayout.PREFERRED_SIZE)
-                                                                               .addGroup(gl_contentPane.createSequentialGroup()
-                                                                                       .addGap(10)
-                                                                                       .addComponent(description_f, GroupLayout.DEFAULT_SIZE, 201, Short.MAX_VALUE))))
-                                                               .addGroup(gl_contentPane.createSequentialGroup()
-                                                                       .addGap(17)
-                                                                       .addGroup(gl_contentPane.createParallelGroup(Alignment.TRAILING)
-                                                                               .addGroup(gl_contentPane.createSequentialGroup()
-                                                                                       .addComponent(lblLivings)
-                                                                                       .addGap(18)
-                                                                                       .addComponent(lRooms_f, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
-                                                                               .addGroup(gl_contentPane.createSequentialGroup()
-                                                                                       .addComponent(lblKitchen, GroupLayout.PREFERRED_SIZE, 70, GroupLayout.PREFERRED_SIZE)
-                                                                                       .addGap(18)
-                                                                                       .addComponent(kitchens_f, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))))))
+                                                                       .addComponent(rooms_f, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))))
                                                .addGroup(gl_contentPane.createSequentialGroup()
-                                                       .addGap(140)
-                                                       .addComponent(btnRegister)))
-                                       .addContainerGap())
+                                                       .addGap(26)
+                                                       .addComponent(lblParkings, GroupLayout.PREFERRED_SIZE, 70, GroupLayout.PREFERRED_SIZE)
+                                                       .addPreferredGap(ComponentPlacement.UNRELATED)
+                                                       .addComponent(parkings_f, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)))
+                                       .addContainerGap(885, Short.MAX_VALUE))
                );
                gl_contentPane.setVerticalGroup(
                        gl_contentPane.createParallelGroup(Alignment.LEADING)
                                .addGroup(gl_contentPane.createSequentialGroup()
                                        .addGap(20)
                                        .addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING)
+                                               .addGroup(gl_contentPane.createSequentialGroup()
+                                                       .addGap(63)
+                                                       .addComponent(lblDescription)
+                                                       .addPreferredGap(ComponentPlacement.RELATED)
+                                                       .addComponent(description_f, GroupLayout.PREFERRED_SIZE, 37, GroupLayout.PREFERRED_SIZE))
                                                .addGroup(gl_contentPane.createSequentialGroup()
                                                        .addGap(60)
                                                        .addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE)
@@ -168,39 +202,34 @@ public class NewHouseGUI extends JFrame {
                                                        .addPreferredGap(ComponentPlacement.UNRELATED)
                                                        .addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE)
                                                                .addComponent(Town_f, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
-                                                               .addComponent(lblTown)))
-                                               .addGroup(gl_contentPane.createSequentialGroup()
-                                                       .addGap(63)
-                                                       .addComponent(lblDescription)
-                                                       .addPreferredGap(ComponentPlacement.UNRELATED)
-                                                       .addComponent(description_f, GroupLayout.PREFERRED_SIZE, 129, GroupLayout.PREFERRED_SIZE)))
-                                       .addGap(71)
+                                                               .addComponent(lblTown))
+                                                       .addGap(18)
+                                                       .addGroup(gl_contentPane.createParallelGroup(Alignment.TRAILING)
+                                                               .addComponent(lblLivings)
+                                                               .addComponent(lRooms_f, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))))
+                                       .addGap(63)
                                        .addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING)
                                                .addGroup(gl_contentPane.createSequentialGroup()
                                                        .addGap(3)
                                                        .addComponent(lblRooms))
-                                               .addComponent(rooms_f, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
+                                               .addComponent(rooms_f, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
+                                       .addPreferredGap(ComponentPlacement.RELATED)
+                                       .addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING)
+                                               .addComponent(kitchens_f, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                                .addGroup(gl_contentPane.createSequentialGroup()
                                                        .addGap(3)
-                                                       .addComponent(lblKitchen))
-                                               .addComponent(kitchens_f, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
-                                       .addGap(18)
-                                       .addGroup(gl_contentPane.createParallelGroup(Alignment.TRAILING)
-                                               .addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING)
-                                                       .addGroup(gl_contentPane.createSequentialGroup()
-                                                               .addGap(3)
-                                                               .addComponent(lblBaths))
-                                                       .addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE)
-                                                               .addComponent(baths_f, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
-                                                               .addComponent(lblLivings)))
-                                               .addComponent(lRooms_f, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
-                                       .addGap(30)
+                                                       .addComponent(lblKitchen)))
+                                       .addPreferredGap(ComponentPlacement.RELATED, 206, Short.MAX_VALUE)
                                        .addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING)
                                                .addGroup(gl_contentPane.createSequentialGroup()
                                                        .addGap(3)
-                                                       .addComponent(lblParkings))
+                                                       .addComponent(lblBaths))
+                                               .addComponent(baths_f, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
+                                       .addGap(45)
+                                       .addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE)
+                                               .addComponent(lblParkings)
                                                .addComponent(parkings_f, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
-                                       .addGap(41)
+                                       .addGap(88)
                                        .addComponent(btnRegister)
                                        .addGap(54))
                );