3 import java.awt.BorderLayout;
4 import java.awt.EventQueue;
7 import javax.swing.JFrame;
8 import javax.swing.JPanel;
9 import javax.swing.border.EmptyBorder;
10 import com.toedter.calendar.JCalendar;
12 import businessLogic.BLFacade;
13 import configuration.UtilDate;
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;
29 public class CreateEventGUI extends JFrame {
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;
37 public static void setBusinessLogic(BLFacade pfacade) {
41 public static BLFacade getBusinessLogic() {
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);
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();
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);
72 jCalendar1.setCalendar(calendarAct);
79 jCalendar1.setBounds(163, 30, 266, 175);
80 contentPane.add(jCalendar1);
82 JLabel lblNewLabel = new JLabel("Introduzca fecha:");
83 lblNewLabel.setBounds(41, 115, 103, 14);
84 contentPane.add(lblNewLabel);
86 JLabel lblNewLabel_1 = new JLabel("Introduzca partido:");
87 lblNewLabel_1.setBounds(41, 243, 95, 14);
88 contentPane.add(lblNewLabel_1);
90 textEvento = new JTextField();
91 textEvento.setBounds(163, 240, 266, 20);
92 contentPane.add(textEvento);
93 textEvento.setColumns(10);
95 JButton btnCrearEvento = new JButton("Crear evento");
96 btnCrearEvento.addActionListener(new ActionListener() {
97 public void actionPerformed(ActionEvent e) {
98 Date date= jCalendar1.getDate();
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);
111 JOptionPane.showMessageDialog(contentPane, "Evento ya existente");
117 btnCrearEvento.setBounds(220, 310, 113, 23);
118 contentPane.add(btnCrearEvento);
121 public void close() {
122 this.setVisible(false);