RRRRHHHH_Code
66f0c834c28b40aeac91b173d6def82e24c3b02b
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 |
package gui; import java.awt.BorderLayout; import java.awt.EventQueue; import domain.*; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.border.EmptyBorder; import javax.swing.JLabel; import java.awt.Font; import javax.swing.JTextField; import javax.swing.JScrollPane; import java.awt.Rectangle; import javax.swing.JTable; import javax.swing.table.DefaultTableModel; import java.awt.Component; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.sql.Date; import java.util.Enumeration; import java.util.LinkedList; import java.util.Vector; import javax.swing.Box; import businessLogic.AdminManager; import businessLogic.HouseManager; import businessLogic.HouseManagerInterface; public class listOfRemovalRequestsGUI extends JFrame { private JPanel contentPane; private JTable table; private DefaultTableModel tableModel; private AdminManager am = new AdminManager(); private Vector<RuralHouse> houses; /** * Create the frame. */ public listOfRemovalRequestsGUI() { try { this.houses= am.getDeletionRequests(); 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); JLabel lblNewLabel = new JLabel(); lblNewLabel.setFont(new Font("Tahoma", Font.PLAIN, 27)); lblNewLabel.setBounds(23, 41, 536, 33); contentPane.add(lblNewLabel); if (houses.isEmpty()) lblNewLabel.setText("There are not houses matching your search"); else lblNewLabel.setText("List of houses that match your search:"); 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[] { "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; JButton btnNewButton = new JButton("Confirm Deletion"); btnNewButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if (table.getRowCount()!=0) { HouseManagerInterface hm = new HouseManager(); RuralHouse rh = houses.get(table.getSelectedRow()); //TODO when the house is not added show a warning to the user. Method below returns a boolean stating that. hm.removeHouse(rh, rh.getOwner()); houses.remove(rh); am.removeHouseDeletionRequests(rh); } } }); btnNewButton.setBounds(301, 394, 169, 25); contentPane.add(btnNewButton); while (en.hasMoreElements()) { rh = en.nextElement(); Vector<Object> row = new Vector<Object>(); row.add(rh.getHouseName()); row.add(rh.getFeatures().getnRooms()); row.add(rh.getFeatures().getnKitchens()); row.add(rh.getFeatures().getnBaths()); row.add(rh.getFeatures().getnParkings()); row.add(rh.getFeatures().getnLivings()); tableModel.addRow(row); } } } |
Commits for RRRRHHHH_CoderuralHouses/src/gui/listOfRemovalRequestsGUI.java
Revision | Author | Commited | Message |
---|---|---|---|
66f0c8 ... | Eneko Pinzolas Murua | Sun 12 Apr, 2015 18:11:42 +0000 | Model modified so that owners now request for a new house insetion or a house removal. Furthermore, all Administrator GUI and bussines logic create. However, Login GUI and BussinesLogic are to be modified so that they integrate Admin identification. |