3 import java.awt.event.ActionEvent;
4 import java.awt.event.ActionListener;
5 import java.awt.event.ItemEvent;
6 import java.awt.event.ItemListener;
8 import javax.swing.GroupLayout;
9 import javax.swing.GroupLayout.Alignment;
10 import javax.swing.JButton;
11 import javax.swing.JComboBox;
12 import javax.swing.JFrame;
13 import javax.swing.JLabel;
14 import javax.swing.JPanel;
15 import javax.swing.JTextField;
16 import javax.swing.LayoutStyle.ComponentPlacement;
17 import javax.swing.SwingConstants;
18 import javax.swing.border.EmptyBorder;
20 import businessLogic.HouseManager;
21 import domain.HouseFeatures;
23 import domain.RuralHouse;
25 public class ModifyHouseGUI extends JFrame {
30 private static final long serialVersionUID = 1L;
31 private JPanel contentPane;
33 private JLabel lblDistrict;
34 private JTextField District_f;
35 private JLabel feedback;
36 private JLabel lblDescription;
37 private JTextField description_f;
38 private JLabel lblKitchen;
39 private JTextField kitchens_f;
40 private JLabel lblRooms;
41 private JTextField rooms_f;
42 private JLabel lblLivings;
43 private JTextField lRooms_f;
44 private JLabel lblParkings;
45 private JTextField parkings_f;
46 private JLabel lblBaths;
47 private JTextField baths_f;
48 private JButton btnConfirm;
49 private JComboBox<RuralHouse> houseBox;
50 private RuralHouse rh;
55 public ModifyHouseGUI(Owner o) {
56 this.getContentPane().setLayout(null);
58 setBounds(100, 100, 500, 583);
59 contentPane = new JPanel();
60 contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
61 setContentPane(contentPane);
63 JLabel lblCode = new JLabel("House Name:");
64 lblCode.setBounds(15, 88, 64, 14);
65 lblCode.setHorizontalAlignment(SwingConstants.RIGHT);
67 lblDistrict = new JLabel("District:");
68 lblDistrict.setBounds(39, 119, 70, 14);
69 lblDistrict.setHorizontalAlignment(SwingConstants.RIGHT);
71 District_f = new JTextField();
72 District_f.setBounds(127, 116, 86, 20);
73 District_f.setColumns(10);
75 lblDescription = new JLabel("Description:");
76 lblDescription.setBounds(231, 88, 90, 14);
77 lblDescription.setHorizontalAlignment(SwingConstants.RIGHT);
79 description_f = new JTextField();
80 description_f.setBounds(241, 113, 178, 129);
81 description_f.setColumns(10);
83 lblKitchen = new JLabel("Kitchens:");
84 lblKitchen.setBounds(230, 316, 70, 14);
85 lblKitchen.setHorizontalAlignment(SwingConstants.RIGHT);
87 kitchens_f = new JTextField();
88 kitchens_f.setBounds(318, 313, 86, 20);
89 kitchens_f.setColumns(10);
91 lblRooms = new JLabel("Rooms:");
92 lblRooms.setBounds(39, 316, 70, 14);
93 lblRooms.setHorizontalAlignment(SwingConstants.RIGHT);
95 rooms_f = new JTextField();
96 rooms_f.setBounds(127, 313, 86, 20);
97 rooms_f.setColumns(10);
99 lblLivings = new JLabel("Living rooms:");
100 lblLivings.setBounds(237, 354, 63, 14);
101 lblLivings.setHorizontalAlignment(SwingConstants.RIGHT);
103 lRooms_f = new JTextField();
104 lRooms_f.setBounds(318, 351, 86, 20);
105 lRooms_f.setColumns(10);
107 lblParkings = new JLabel("Parkings:");
108 lblParkings.setBounds(39, 404, 70, 14);
109 lblParkings.setHorizontalAlignment(SwingConstants.RIGHT);
111 parkings_f = new JTextField();
112 parkings_f.setBounds(127, 401, 86, 20);
113 parkings_f.setColumns(10);
115 lblBaths = new JLabel("Baths:");
116 lblBaths.setBounds(39, 354, 70, 14);
117 lblBaths.setHorizontalAlignment(SwingConstants.RIGHT);
119 baths_f = new JTextField();
120 baths_f.setBounds(127, 351, 86, 20);
121 baths_f.setColumns(10);
123 btnConfirm = new JButton("Confirm");
124 btnConfirm.setBounds(145, 462, 69, 23);
125 btnConfirm.addActionListener(new ActionListener() {
126 public void actionPerformed(ActionEvent arg0) {
128 RuralHouse newRh = new RuralHouse(rh.getHouseName(), owner,
129 description_f.getText(), District_f.getText(),
130 new HouseFeatures(new Integer(rooms_f.getText()),
131 new Integer(kitchens_f.getText()), new Integer(
132 baths_f.getText()), new Integer(
133 lRooms_f.getText()), new Integer(
134 parkings_f.getText())));
135 HouseManager hm = new HouseManager();
137 if (hm.registerNewHouse(newRh)) {
138 feedback.setText("House properly modified");
140 feedback.setText("Imposible to modify the house");
145 houseBox = new JComboBox<RuralHouse>(o.getRuralHouses());
146 if (!o.getRuralHouses().isEmpty()) {
147 rh = (RuralHouse) houseBox.getSelectedItem();
148 District_f.setText(rh.getDistrict());
149 description_f.setText(rh.getDescription());
150 kitchens_f.setText(Integer
151 .toString(rh.getFeatures().getnKitchens()));
152 rooms_f.setText(Integer.toString(rh.getFeatures().getnRooms()));
153 lRooms_f.setText(Integer.toString(rh.getFeatures().getnLivings()));
154 parkings_f.setText(Integer
155 .toString(rh.getFeatures().getnParkings()));
156 baths_f.setText(Integer.toString(rh.getFeatures().getnBaths()));
157 houseBox.setBounds(89, 85, 124, 20);
159 feedback.setText("Not available houses");
161 houseBox.addItemListener(new ItemListener() {
163 public void itemStateChanged(ItemEvent e) {
164 rh = (RuralHouse) houseBox.getSelectedItem();
165 District_f.setText(rh.getDistrict());
166 description_f.setText(rh.getDescription());
167 kitchens_f.setText(Integer.toString(rh.getFeatures()
169 rooms_f.setText(Integer.toString(rh.getFeatures().getnRooms()));
170 lRooms_f.setText(Integer.toString(rh.getFeatures()
172 parkings_f.setText(Integer.toString(rh.getFeatures()
174 baths_f.setText(Integer.toString(rh.getFeatures().getnBaths()));
178 contentPane.setLayout(null);
179 contentPane.add(lblParkings);
180 contentPane.add(parkings_f);
181 contentPane.add(lblRooms);
182 contentPane.add(rooms_f);
183 contentPane.add(lblCode);
184 contentPane.add(houseBox);
185 contentPane.add(lblBaths);
186 contentPane.add(baths_f);
187 contentPane.add(lblDistrict);
188 contentPane.add(District_f);
189 contentPane.add(lblLivings);
190 contentPane.add(lRooms_f);
191 contentPane.add(lblKitchen);
192 contentPane.add(kitchens_f);
193 contentPane.add(description_f);
194 contentPane.add(lblDescription);
195 contentPane.add(btnConfirm);
197 feedback = new JLabel("");
198 feedback.setBounds(189, 510, 195, 23);
199 contentPane.add(feedback);