Versión del proyecto de Apuestas tras la iteración 1
[ISBets21MAUBRY] / eclipse-workspace / ISBets21BRYMAUJONUNA / src / main / java / gui / CreateEventGUI.java
1 package gui;
2
3 import java.awt.BorderLayout;
4 import java.awt.EventQueue;
5 import java.awt.Frame;
6
7 import javax.swing.JFrame;
8 import javax.swing.JPanel;
9 import javax.swing.border.EmptyBorder;
10 import com.toedter.calendar.JCalendar;
11
12 import businessLogic.BLFacade;
13 import configuration.UtilDate;
14 import domain.Event;
15
16 import javax.swing.JLabel;
17 import javax.swing.JOptionPane;
18 import javax.swing.JTextField;
19 import javax.swing.JButton;
20 import java.awt.event.ActionListener;
21 import java.util.Calendar;
22 import java.util.Date;
23 import java.util.Locale;
24 import java.awt.event.ActionEvent;
25 import java.beans.PropertyChangeListener;
26 import java.text.DateFormat;
27 import java.beans.PropertyChangeEvent;
28
29 public class CreateEventGUI extends JFrame {
30
31         private JPanel contentPane;
32         private JTextField textEvento;
33         private static BLFacade facade = LoginGUI.getBusinessLogic();
34         private Calendar calendarAct = null;
35         private Calendar calendarAnt = null;
36
37         public static void setBusinessLogic(BLFacade pfacade) {
38                 facade = pfacade;
39         }
40
41         public static BLFacade getBusinessLogic() {
42                 return facade;
43         }
44         public CreateEventGUI() {
45                 setTitle("Crear evento");
46                 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
47                 setBounds(100, 100, 585, 407);
48                 contentPane = new JPanel();
49                 contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
50                 setContentPane(contentPane);
51                 contentPane.setLayout(null);
52
53                 JCalendar jCalendar1 = new JCalendar();
54                 jCalendar1.addPropertyChangeListener(new PropertyChangeListener() {
55                         public void propertyChange(PropertyChangeEvent evt) {
56                                 if (evt.getPropertyName().equals("locale")) {
57                                         jCalendar1.setLocale((Locale) evt.getNewValue());
58                                 } else if (evt.getPropertyName().equals("calendar")) {
59                                         calendarAnt = (Calendar) evt.getOldValue();
60                                         calendarAct = (Calendar) evt.getNewValue();
61
62                                         int monthAnt = calendarAnt.get(Calendar.MONTH);
63                                         int monthAct = calendarAct.get(Calendar.MONTH);
64                                         if (monthAct!=monthAnt) {
65                                                 if (monthAct==monthAnt+2) { 
66                                                         // Si en JCalendar está 30 de enero y se avanza al mes siguiente, devolvería 2 de marzo (se toma como equivalente a 30 de febrero)
67                                                         // Con este código se dejará como 1 de febrero en el JCalendar
68                                                         calendarAct.set(Calendar.MONTH, monthAnt+1);
69                                                         calendarAct.set(Calendar.DAY_OF_MONTH, 1);
70                                                 }
71
72                                                 jCalendar1.setCalendar(calendarAct);
73
74                                         }
75
76                                 }
77                         }
78                 });
79                 jCalendar1.setBounds(163, 30, 266, 175);
80                 contentPane.add(jCalendar1);
81
82                 JLabel lblNewLabel = new JLabel("Introduzca fecha:");
83                 lblNewLabel.setBounds(41, 115, 103, 14);
84                 contentPane.add(lblNewLabel);
85
86                 JLabel lblNewLabel_1 = new JLabel("Introduzca partido:");
87                 lblNewLabel_1.setBounds(41, 243, 95, 14);
88                 contentPane.add(lblNewLabel_1);
89
90                 textEvento = new JTextField();
91                 textEvento.setBounds(163, 240, 266, 20);
92                 contentPane.add(textEvento);
93                 textEvento.setColumns(10);
94
95                 JButton btnCrearEvento = new JButton("Crear evento");
96                 btnCrearEvento.addActionListener(new ActionListener() {
97                         public void actionPerformed(ActionEvent e) {
98                                 Date date= jCalendar1.getDate();
99                                 date.setHours(0);
100                                 date.setMinutes(0);
101                                 date.setSeconds(0);
102                                 Event ev=new Event(facade.getNumberEvents() + 1, textEvento.getText(), date);
103                                 if(!facade.existEvent(ev)) {
104                                         JOptionPane.showMessageDialog(contentPane, "Evento añadido correctamente");
105                                         facade.insertEvent(ev);
106                                         Frame gui = new MainAdminGUI();
107                                         gui.setAlwaysOnTop(true);
108                                         gui.setVisible(true);
109                                         close();
110                                 } else {
111                                         JOptionPane.showMessageDialog(contentPane, "Evento ya existente");
112                                 }
113                                 
114
115                         }
116                 });
117                 btnCrearEvento.setBounds(220, 310, 113, 23);
118                 contentPane.add(btnCrearEvento);
119         }
120         
121         public void close() {
122                 this.setVisible(false);
123         }
124         
125 }