faa4f81ebe5dec7d913fedc3fed651f381faa0bf
[RRRRHHHH_Code] / ruralHouses / src / gui / DeleteOfferGUI.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.util.Vector;
8
9 import javax.swing.GroupLayout;
10 import javax.swing.GroupLayout.Alignment;
11 import javax.swing.JButton;
12 import javax.swing.JComboBox;
13 import javax.swing.JFrame;
14 import javax.swing.JLabel;
15 import javax.swing.JPanel;
16 import javax.swing.JRadioButton;
17 import javax.swing.border.EmptyBorder;
18
19 import businessLogic.OfferManager;
20 import domain.Offer;
21 import domain.Owner;
22 import domain.RuralHouse;
23
24 public class DeleteOfferGUI 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 JComboBox<Offer> comboBox_1;
34         private JButton btnDelete;
35
36
37         /**
38          * Create the frame.
39          */
40         public DeleteOfferGUI(Owner o) {
41                 this.owner = o;
42                 setBounds(100, 100, 450, 300);
43                 contentPane = new JPanel();
44                 contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
45                 setContentPane(contentPane);
46         
47                 comboBox = new JComboBox<RuralHouse>(this.owner.getRuralHouses());
48                 
49                 
50                 
51                 comboBox_1 = new JComboBox<Offer>();
52
53                 JRadioButton rdbtnIAmSure = new JRadioButton("I am sure");
54                 
55                 btnDelete = new JButton("DELETE");
56                 btnDelete.setEnabled(false);
57                 
58                 comboBox.addItemListener(new ItemListener() {
59
60                         @Override
61                         public void itemStateChanged(ItemEvent arg0) {
62                                 Vector<Offer> vo = ((RuralHouse)comboBox.getSelectedItem()).offers;
63                                 comboBox_1.removeAllItems();
64                                 for (Offer of: vo){
65                                         comboBox_1.addItem(of);;
66                                 }
67                 
68                         }
69                         
70                 });
71                 
72                 rdbtnIAmSure.addItemListener(new ItemListener() {
73
74                         @Override
75                         public void itemStateChanged(ItemEvent e) {
76                                 int state = e.getStateChange();
77                                 if (state == ItemEvent.SELECTED){
78                                         btnDelete.setEnabled(true);
79                                 }
80                                 else if (state == ItemEvent.DESELECTED){
81                                         btnDelete.setEnabled(false);
82                                 }
83                         }
84                 });
85                 
86                 JLabel lblHouse = new JLabel("House:");
87                 
88                 JLabel lblOffer = new JLabel("Offer:");
89                 GroupLayout gl_contentPane = new GroupLayout(contentPane);
90                 gl_contentPane.setHorizontalGroup(
91                         gl_contentPane.createParallelGroup(Alignment.LEADING)
92                                 .addGroup(gl_contentPane.createSequentialGroup()
93                                         .addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING)
94                                                 .addGroup(gl_contentPane.createSequentialGroup()
95                                                         .addGap(85)
96                                                         .addGroup(gl_contentPane.createParallelGroup(Alignment.TRAILING)
97                                                                 .addComponent(btnDelete)
98                                                                 .addComponent(rdbtnIAmSure)))
99                                                 .addGroup(gl_contentPane.createSequentialGroup()
100                                                         .addGap(20)
101                                                         .addGroup(gl_contentPane.createParallelGroup(Alignment.TRAILING, false)
102                                                                 .addComponent(lblHouse, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
103                                                                 .addComponent(lblOffer, GroupLayout.DEFAULT_SIZE, 68, Short.MAX_VALUE))
104                                                         .addGap(8)
105                                                         .addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING, false)
106                                                                 .addComponent(comboBox, 0, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
107                                                                 .addComponent(comboBox_1, 0, 314, Short.MAX_VALUE))))
108                                         .addContainerGap(946, Short.MAX_VALUE))
109                 );
110                 gl_contentPane.setVerticalGroup(
111                         gl_contentPane.createParallelGroup(Alignment.LEADING)
112                                 .addGroup(gl_contentPane.createSequentialGroup()
113                                         .addGap(33)
114                                         .addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE)
115                                                 .addComponent(comboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
116                                                 .addComponent(lblHouse))
117                                         .addGap(18)
118                                         .addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE)
119                                                 .addComponent(comboBox_1, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
120                                                 .addComponent(lblOffer))
121                                         .addGap(43)
122                                         .addComponent(rdbtnIAmSure)
123                                         .addGap(47)
124                                         .addComponent(btnDelete)
125                                         .addContainerGap(493, Short.MAX_VALUE))
126                 );
127                 contentPane.setLayout(gl_contentPane);
128                 
129                 btnDelete.addActionListener(new ActionListener() {
130                         public void actionPerformed(ActionEvent arg0) {
131                                 actionListenerButton(arg0);
132                                 
133                         }
134
135                         
136                 });
137         }
138         
139         private void actionListenerButton(ActionEvent e){
140
141                 Offer toDel = (Offer)comboBox_1.getSelectedItem();
142                 OfferManager oM = new OfferManager();
143                 try {
144                         oM.deleteOffer((RuralHouse)comboBox.getSelectedItem(),toDel);
145                 } catch (Exception e1) {
146                         e1.printStackTrace();
147                 }
148                 comboBox.removeItem(toDel);
149         }
150 }