Package swimraceorganizer

Source Code of swimraceorganizer.AddSwimmingEvent

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

/*
* AddSwimmingEvent.java
*
* Created on 23.09.2010, 14:30:54
*/

package swimraceorganizer;

import java.awt.Font;
import java.awt.event.ActionEvent;
import java.io.IOException;
import java.util.Map;

import javax.swing.BorderFactory;
import javax.swing.JOptionPane;

import utils.Constants;
import utils.EventOperations;
import work.Operations;
import entities.Event;

/**
*
* @author rsovarsz
*/
public class AddSwimmingEvent extends javax.swing.JDialog {

  // Variables declaration - do not modify//GEN-BEGIN:variables
  private javax.swing.JButton jBCancel;
  private javax.swing.JButton jBRegister;
  private javax.swing.JComboBox jCBDistance;
  private javax.swing.JComboBox jCBGender;
  private javax.swing.JComboBox jCBPoolType;
  private javax.swing.JComboBox jCBStyle;
  private javax.swing.JLabel jLDistance;
  private javax.swing.JLabel jLEventName;
  private javax.swing.JLabel jLGender;
  private javax.swing.JLabel jLStatus;
  private javax.swing.JLabel jLStyle;
  private javax.swing.JLabel jLabel5;
  private javax.swing.JSeparator jSeparatorStatus;
  private javax.swing.JTextField jTEventName;
  // End of variables declaration//GEN-END:variables

  private String poolType;
  private Map<String, String> styleType = new Constants().getStyleNames();
  private EventOperations evOp = new EventOperations();
  private String internalEventName = null;
  private Operations sOp = new Operations();

  /** Creates new form AddSwimmingEvent */
  public AddSwimmingEvent(String poolType) {
    super();
    setPoolType(poolType);
    initComponents();
    fillDistanceCB();
    fillStyleCB();
    fillPoolTypeCB();
    fillEventName();
    // removing the gender stuff
    // fillGenderCB();
    jLGender.setVisible(false);
    jCBGender.setVisible(false);

  }

  /**
   * This method is called from within the constructor to initialize the form.
   * WARNING: Do NOT modify this code. The content of this method is always
   * regenerated by the Form Editor.
   */
  @SuppressWarnings("unchecked")
  // <editor-fold defaultstate="collapsed"
  // desc="Generated Code">//GEN-BEGIN:initComponents
  private void initComponents() {

    jTEventName = new javax.swing.JTextField();
    jCBDistance = new javax.swing.JComboBox();
    jCBStyle = new javax.swing.JComboBox();
    jCBGender = new javax.swing.JComboBox();
    jCBPoolType = new javax.swing.JComboBox();
    jLEventName = new javax.swing.JLabel();
    jLGender = new javax.swing.JLabel();
    jLDistance = new javax.swing.JLabel();
    jLStyle = new javax.swing.JLabel();
    jLabel5 = new javax.swing.JLabel();
    jBRegister = new javax.swing.JButton();
    jBCancel = new javax.swing.JButton();
    jSeparatorStatus = new javax.swing.JSeparator();
    jLStatus = new javax.swing.JLabel();

    setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
    org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application
        .getInstance(swimraceorganizer.SwimRaceOrganizerApp.class).getContext()
        .getResourceMap(AddSwimmingEvent.class);
    setTitle(resourceMap.getString("Form.title")); // NOI18N
    setName("Form"); // NOI18N
    setResizable(false);

    jTEventName.setText(resourceMap.getString("jTEventName.text")); // NOI18N
    jTEventName.setName("jTEventName"); // NOI18N
    jTEventName.setFont(new Font(jLEventName.getFont().getName(), Font.BOLD, jLEventName.getFont().getSize()));
    jTEventName.setEditable(false);
    jTEventName.setBorder(BorderFactory.createEmptyBorder());

    jLEventName.setText(resourceMap.getString("jLEventName.text")); // NOI18N
    jLEventName.setName("jLEventName"); // NOI18N

    jLGender.setText(resourceMap.getString("jLGender.text")); // NOI18N
    jLGender.setName("jLGender"); // NOI18N

    jLDistance.setText(resourceMap.getString("jLDistance.text")); // NOI18N
    jLDistance.setName("jLDistance"); // NOI18N

    jLStyle.setText(resourceMap.getString("jLStyle.text")); // NOI18N
    jLStyle.setName("jLStyle"); // NOI18N

    jLabel5.setText(resourceMap.getString("jLabel5.text")); // NOI18N
    jLabel5.setName("jLabel5"); // NOI18N

    jBRegister.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent evt) {
        registerSwimmingEvent(evt);
      }
    });
    jBRegister.setText(resourceMap.getString("jBRegister.text")); // NOI18N
    jBRegister.setName("jBRegister"); // NOI18N

    jBCancel.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent evt) {
        cancel(evt);
      }
    });
    jBCancel.setText(resourceMap.getString("jBCancel.text")); // NOI18N
    jBCancel.setName("jBCancel"); // NOI18N

    jSeparatorStatus.setName("jSeparatorStatus"); // NOI18N

    jLStatus.setFont(resourceMap.getFont("jLStatus.font")); // NOI18N
    jLStatus.setText(resourceMap.getString("jLStatus.text")); // NOI18N
    jLStatus.setName("jLStatus"); // NOI18N

    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    getContentPane().setLayout(layout);
    layout.setHorizontalGroup(layout
        .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(
            layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(
                    layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                        .addComponent(jSeparatorStatus, javax.swing.GroupLayout.DEFAULT_SIZE,
                            363, Short.MAX_VALUE)
                        .addGroup(
                            javax.swing.GroupLayout.Alignment.LEADING,
                            layout.createSequentialGroup()
                                .addGroup(
                                    layout.createParallelGroup(
                                        javax.swing.GroupLayout.Alignment.LEADING)
                                        .addComponent(jLEventName)
                                        .addComponent(jBRegister)
                                        .addGroup(
                                            javax.swing.GroupLayout.Alignment.TRAILING,
                                            layout.createSequentialGroup()
                                                .addGroup(
                                                    layout.createParallelGroup(
                                                        javax.swing.GroupLayout.Alignment.TRAILING)
                                                        .addComponent(
                                                            jTEventName,
                                                            javax.swing.GroupLayout.Alignment.LEADING,
                                                            javax.swing.GroupLayout.DEFAULT_SIZE,
                                                            260,
                                                            Short.MAX_VALUE)
                                                        .addGroup(
                                                            layout.createSequentialGroup()
                                                                .addComponent(
                                                                    jLDistance)
                                                                .addPreferredGap(
                                                                    javax.swing.LayoutStyle.ComponentPlacement.RELATED,
                                                                    195,
                                                                    Short.MAX_VALUE)
                                                                .addComponent(
                                                                    jLStyle)))
                                                .addGap(24, 24, 24)))
                                .addGap(14, 14, 14)
                                .addGroup(
                                    layout.createParallelGroup(
                                        javax.swing.GroupLayout.Alignment.TRAILING)
                                        .addComponent(
                                            jCBGender,
                                            javax.swing.GroupLayout.PREFERRED_SIZE,
                                            javax.swing.GroupLayout.DEFAULT_SIZE,
                                            javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addComponent(jLGender)
                                        .addComponent(jLabel5)
                                        .addComponent(jBCancel)))
                        .addComponent(jLStatus, javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(
                            layout.createSequentialGroup()
                                .addComponent(jCBDistance, 0, 100, Short.MAX_VALUE)
                                .addGap(18, 18, 18)
                                .addComponent(jCBStyle,
                                    javax.swing.GroupLayout.PREFERRED_SIZE, 144,
                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(
                                    javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                .addComponent(jCBPoolType,
                                    javax.swing.GroupLayout.PREFERRED_SIZE, 91,
                                    javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap()));
    layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(
        layout.createSequentialGroup()
            .addContainerGap()
            .addGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLEventName).addComponent(jLGender))
            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
            .addGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jTEventName, javax.swing.GroupLayout.PREFERRED_SIZE,
                        javax.swing.GroupLayout.DEFAULT_SIZE,
                        javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jCBGender, javax.swing.GroupLayout.PREFERRED_SIZE,
                        javax.swing.GroupLayout.DEFAULT_SIZE,
                        javax.swing.GroupLayout.PREFERRED_SIZE))
            .addGap(5, 5, 5)
            .addGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLDistance).addComponent(jLabel5).addComponent(jLStyle))
            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
            .addGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jCBDistance, javax.swing.GroupLayout.PREFERRED_SIZE,
                        javax.swing.GroupLayout.DEFAULT_SIZE,
                        javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jCBStyle, javax.swing.GroupLayout.PREFERRED_SIZE,
                        javax.swing.GroupLayout.DEFAULT_SIZE,
                        javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jCBPoolType, javax.swing.GroupLayout.PREFERRED_SIZE,
                        javax.swing.GroupLayout.DEFAULT_SIZE,
                        javax.swing.GroupLayout.PREFERRED_SIZE))
            .addGap(18, 18, 18)
            .addGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jBRegister).addComponent(jBCancel))
            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
            .addComponent(jSeparatorStatus, javax.swing.GroupLayout.PREFERRED_SIZE, 10,
                javax.swing.GroupLayout.PREFERRED_SIZE)
            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED).addComponent(jLStatus)
            .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)));

    jCBDistance.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent evt) {
        try {
          fillEventName();
        } catch (NullPointerException e) {
        }
      }
    });
    jCBStyle.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent evt) {
        try {
          fillEventName();
        } catch (NullPointerException e) {
        }
      }
    });
    jCBGender.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent evt) {
        try {
          fillEventName();
        } catch (NullPointerException e) {
        }
      }
    });

    pack();
  }// </editor-fold>//GEN-END:initComponents

  private void cancel(ActionEvent evt) {
    dispose();
  }

  private void registerSwimmingEvent(ActionEvent evt) {
    if (jTEventName.getText().isEmpty()) {
      JOptionPane.showMessageDialog(null, "Event Name can not be empty!", "Warrning!!!", 1);
    } else {
      Event event = new Event(jTEventName.getText(), jCBDistance.getSelectedItem().toString(), jCBStyle
          .getSelectedItem().toString(), jCBPoolType.getSelectedItem().toString());
      // check that the event has not been registered already
      if (sOp.existsEvent(internalEventName)) {
        JOptionPane.showMessageDialog(null, "Event already exists!", "Warrning!!!", 1);
      } else {
        try {
          evOp.registerEvent(event);
          jLStatus.setText("S-a inregistrat proba, " + event.getName());
        } catch (IOException e) {
          jLStatus.setText("Nu s-a putut inregistra proba, " + event.getName());
        }
      }
    }
  }

  /**
   * @param args
   *            the command line arguments
   */
  public static void main(String args[]) {
    java.awt.EventQueue.invokeLater(new Runnable() {
      public void run() {
        AddSwimmingEvent dialog = new AddSwimmingEvent(new String());
        dialog.addWindowListener(new java.awt.event.WindowAdapter() {
          public void windowClosing(java.awt.event.WindowEvent e) {
            System.exit(0);
          }
        });
        dialog.setVisible(true);
      }
    });
  }

  public void fillGenderCB() {
    jCBGender.removeAllItems();
    jCBGender.addItem("M".toString());
    jCBGender.addItem("F".toString());
  }

  public void fillDistanceCB() {
    jCBDistance.removeAllItems();
    jCBDistance.addItem("25 Meters".toString());
    jCBDistance.addItem("50 Meters".toString());
    jCBDistance.addItem("100 Meters".toString());
    jCBDistance.addItem("200 Meters".toString());
    jCBDistance.addItem("400 Meters".toString());
    jCBDistance.addItem("800 Meters".toString());
    jCBDistance.addItem("1500 Meters".toString());
  }

  public void fillStyleCB() {
    jCBStyle.removeAllItems();
    jCBStyle.addItem(styleType.get("FREE").toString());
    jCBStyle.addItem(styleType.get("BACK").toString());
    jCBStyle.addItem(styleType.get("BREAST").toString());
    jCBStyle.addItem(styleType.get("FLY").toString());
    jCBStyle.addItem(styleType.get("MEDLEY").toString());
  }

  public void fillPoolTypeCB() {
    jCBPoolType.removeAllItems();
    jCBPoolType.addItem(getPoolType());
    jCBPoolType.setEditable(false);
  }

  public String getPoolType() {
    return poolType;
  }

  public void setPoolType(String poolType) {
    this.poolType = poolType;
  }

  private void fillEventName() {
    jTEventName.setText("Proba " + padLeft(Integer.toString((evOp.getNumberOfEvent() + 1)), 2) + " - "
        + jCBDistance.getSelectedItem().toString() + " " + jCBStyle.getSelectedItem().toString());
    internalEventName = jCBDistance.getSelectedItem().toString() + " " + jCBStyle.getSelectedItem().toString();
  }

  private static String padLeft(String s, int n) {
    return String.format("%1$#" + n + "s", s).replace(' ', '0');
  }

}
TOP

Related Classes of swimraceorganizer.AddSwimmingEvent

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.