3 import java.awt.BorderLayout;
4 import java.awt.EventQueue;
8 import javax.swing.JButton;
9 import javax.swing.JFrame;
10 import javax.swing.JPanel;
11 import javax.swing.border.EmptyBorder;
12 import javax.swing.JLabel;
16 import javax.swing.JTextField;
17 import javax.swing.JScrollPane;
19 import java.awt.Rectangle;
21 import javax.swing.JTable;
22 import javax.swing.table.DefaultTableModel;
24 import java.awt.Component;
25 import java.awt.event.ActionEvent;
26 import java.awt.event.ActionListener;
27 import java.awt.event.MouseAdapter;
28 import java.awt.event.MouseEvent;
30 import java.util.Enumeration;
31 import java.util.LinkedList;
32 import java.util.Vector;
34 import javax.swing.Box;
36 import businessLogic.AdminManager;
37 import businessLogic.HouseManager;
38 import businessLogic.HouseManagerInterface;
40 public class listOfRemovalRequestsGUI extends JFrame {
42 private JPanel contentPane;
44 private DefaultTableModel tableModel;
45 private AdminManager am = new AdminManager();
46 private Vector<RuralHouse> houses;
50 public listOfRemovalRequestsGUI() {
52 this.houses= am.getDeletionRequests();
54 } catch (Exception e) {
59 private void init() throws Exception {
60 setBounds(100, 100, 600, 450);
61 contentPane = new JPanel();
62 contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
63 setContentPane(contentPane);
64 contentPane.setLayout(null);
66 JLabel lblNewLabel = new JLabel();
67 lblNewLabel.setFont(new Font("Tahoma", Font.PLAIN, 27));
68 lblNewLabel.setBounds(23, 41, 536, 33);
69 contentPane.add(lblNewLabel);
71 lblNewLabel.setText("There are not houses matching your search");
73 lblNewLabel.setText("List of houses that match your search:");
74 JScrollPane scrollPane = new JScrollPane();
75 scrollPane.setBounds(new Rectangle(45, 305, 320, 116));
76 scrollPane.setBounds(23, 113, 536, 271);
77 contentPane.add(scrollPane);
79 table = new JTable() {
80 private static final long serialVersionUID = 1L;
82 public boolean isCellEditable(int row, int column) {
86 scrollPane.setViewportView(table);
87 tableModel = new DefaultTableModel(null, new String[] {
88 "House Name", "Bedrooms", "Kitchens", "Baths", "Parkings",
91 //Maybe there is a better way to avoid interaction.
92 //table.setEnabled(false);
93 table.setModel(tableModel);
94 Enumeration<RuralHouse> en = houses.elements();
96 JButton btnNewButton = new JButton("Confirm Deletion");
97 btnNewButton.addActionListener(new ActionListener() {
98 public void actionPerformed(ActionEvent e) {
99 if (table.getRowCount()!=0) {
100 HouseManagerInterface hm = new HouseManager();
101 RuralHouse rh = houses.get(table.getSelectedRow());
102 //TODO when the house is not added show a warning to the user. Method below returns a boolean stating that.
103 hm.removeHouse(rh, rh.getOwner());
105 am.removeHouseDeletionRequests(rh);
109 btnNewButton.setBounds(301, 394, 169, 25);
110 contentPane.add(btnNewButton);
111 while (en.hasMoreElements()) {
112 rh = en.nextElement();
113 Vector<Object> row = new Vector<Object>();
114 row.add(rh.getHouseName());
115 row.add(rh.getFeatures().getnRooms());
116 row.add(rh.getFeatures().getnKitchens());
117 row.add(rh.getFeatures().getnBaths());
118 row.add(rh.getFeatures().getnParkings());
119 row.add(rh.getFeatures().getnLivings());
120 tableModel.addRow(row);