Merge branch 'master' of https://xp-dev.com/git/RRRRHHHH_Code
[RRRRHHHH_Code] / ruralHouses / src / gui / RequestDeleteHouseGUI.java
1 package gui;
2
3 import java.awt.event.ActionEvent;
4 import java.awt.event.ActionListener;
5 import java.awt.event.ItemEvent;
6 import java.awt.event.ItemListener;
7 import java.rmi.Naming;
8 import java.rmi.RemoteException;
9
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.JRadioButton;
16 import javax.swing.border.EmptyBorder;
17
18 import common.AdminInterface;
19
20 import configuration.___IntNames;
21 import domain.Owner;
22 import domain.RuralHouse;
23
24 public class RequestDeleteHouseGUI extends JFrame {
25
26         /**
27          * 
28          */
29         private static final long serialVersionUID = 1L;
30         private JPanel contentPane;
31         private Owner owner;
32         private JComboBox<RuralHouse> comboBox;
33         private JButton btnDelete;
34         private AdminInterface am = null;
35         JLabel feedback = new JLabel("");
36
37         /**
38          * Create the frame.
39          */
40         public RequestDeleteHouseGUI(Owner o) {
41                 try {
42                         am = (AdminInterface) Naming
43                                         .lookup(___IntNames.AdminManager);
44                 } catch (Exception e1) {
45                         System.out.println("Error accessing remote authentication: "
46                                         + e1.toString());
47                 }
48                 this.owner = o;
49                 setBounds(100, 100, 450, 300);
50                 contentPane = new JPanel();
51                 contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
52                 setContentPane(contentPane);
53         
54                 comboBox = new JComboBox<RuralHouse>(this.owner.getRuralHouses());
55                 comboBox.setBounds(75, 55, 332, 20);
56                 
57
58                 JRadioButton rdbtnIAmSure = new JRadioButton("I am sure");
59                 rdbtnIAmSure.setBounds(90, 154, 90, 23);
60                 
61                 btnDelete = new JButton("REQUEST");
62                 btnDelete.setBounds(90, 213, 90, 23);
63                 btnDelete.setEnabled(false);
64                 
65                 rdbtnIAmSure.addItemListener(new ItemListener() {
66
67                         @Override
68                         public void itemStateChanged(ItemEvent e) {
69                                 int state = e.getStateChange();
70                                 if (state == ItemEvent.SELECTED){
71                                         btnDelete.setEnabled(true);
72                                 }
73                                 else if (state == ItemEvent.DESELECTED){
74                                         btnDelete.setEnabled(false);
75                                 }
76                         }
77                 });
78                 contentPane.setLayout(null);
79                 contentPane.add(comboBox);
80                 contentPane.add(rdbtnIAmSure);
81                 contentPane.add(btnDelete);
82                 feedback.setBounds(90, 184, 274, 18);
83                 contentPane.add(feedback);
84                 
85                 btnDelete.addActionListener(new ActionListener() {
86                         public void actionPerformed(ActionEvent arg0) {
87                                 actionListenerButton(arg0);
88                                 
89                         }
90
91                         
92                 });
93         }
94         
95         private void actionListenerButton(ActionEvent e){
96                 RuralHouse toDel = (RuralHouse)comboBox.getSelectedItem();
97                 
98                 try {
99                         if(am.addDeletionRequest(toDel)){
100                                 am.saveInstance();
101                                 feedback.setText("Delete request sended");
102                                 
103                         }else{
104                                 feedback.setText("Request cannot be sended(Already sended)");
105                         }
106                 } catch (RemoteException e1) {
107                         // TODO Auto-generated catch block
108                         e1.printStackTrace();
109                 }
110         }
111 }