Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package gui.dialog.detailpanels;
- import java.awt.BorderLayout;
- import java.awt.Color;
- import java.awt.Dimension;
- import java.awt.FlowLayout;
- import java.util.Date;
- import java.text.ParsePosition;
- import java.text.SimpleDateFormat;
- import java.util.Iterator;
- import java.util.Locale;
- import gui.MainFrame;
- import gui.dialog.AbstractDialog.StanjeDijaloga;
- import gui.exceptions.ElementNePostoji;
- import gui.exceptions.RequiredFieldException;
- import gui.listeners.MyKeyListener;
- import gui.listeners.MyKeyListenerDate;
- import gui.listeners.MyKeyListenerTime;
- import javax.swing.Box;
- import javax.swing.BoxLayout;
- import javax.swing.JComboBox;
- import javax.swing.JFormattedTextField;
- import javax.swing.JLabel;
- import javax.swing.JPanel;
- import javax.swing.JTextField;
- import model.collections.ServisnaStanica;
- import model.data.Igranje;
- import model.data.Predstava;
- @SuppressWarnings("serial")
- public class PanelDetailIgranje extends AbstractPanelDetail{
- private JLabel lblDatumPredstave;
- private JFormattedTextField txtDatumPredstave;
- private Date datum;
- private JLabel lblNazivPredstave;
- private JComboBox cmbNazivPredstave;
- String[] predstava;
- private JLabel lblVremePredstave;
- private JFormattedTextField txtVremePredstave;
- private Date vreme;
- private JLabel lblSalaPredstave;
- private JComboBox cmbSalaPredstave;
- String[] sala;
- private JLabel lblKojiPut;
- private JTextField txtKojiPut;
- StanjeDijaloga mode;
- public PanelDetailIgranje(StanjeDijaloga mode) {
- setLayout(new BorderLayout());
- Dimension lblDimension = new Dimension(150,20);
- Box boxCentar = new Box(BoxLayout.Y_AXIS);
- JPanel panNazivPredstave= new JPanel(new FlowLayout(FlowLayout.LEFT));
- lblNazivPredstave= new JLabel(
- MainFrame.getInstance().getResourceBundle().getString("lblNazivPredstave")+" *");
- lblNazivPredstave.setPreferredSize(lblDimension);
- cmbNazivPredstave = new JComboBox();
- Iterator<String> iterPredstave = ServisnaStanica.getInstance().getPredstave().getPredstavaIterator();
- while(iterPredstave.hasNext()){
- try{
- cmbNazivPredstave.addItem(ServisnaStanica.getInstance().getPredstave().getPredstava(iterPredstave.next()));
- }catch(ElementNePostoji e){
- e.printStackTrace();
- }
- }
- cmbNazivPredstave.setEnabled(mode != StanjeDijaloga.BROWSE);
- panNazivPredstave.add(lblNazivPredstave);
- panNazivPredstave.add(cmbNazivPredstave);
- boxCentar.add(panNazivPredstave);
- //-----------------------------------------------------------
- JPanel panDatumPredstave= new JPanel(new FlowLayout(FlowLayout.LEFT));
- lblDatumPredstave= new JLabel(
- MainFrame.getInstance().getResourceBundle().getString("lblDatumPredstave")+
- MainFrame.getInstance().getResourceBundle().getString("lblFormatDatuma")+
- " *");
- lblDatumPredstave.setPreferredSize(lblDimension);
- txtDatumPredstave = new JFormattedTextField(new SimpleDateFormat("dd.MM.yyyy"));
- txtDatumPredstave.setColumns(10);
- txtDatumPredstave.addKeyListener(new MyKeyListenerDate());
- txtDatumPredstave.setName("DatumIgranjaPredstave");
- txtDatumPredstave.setEnabled(mode != StanjeDijaloga.BROWSE && mode != StanjeDijaloga.UPDATE);
- panDatumPredstave.add(lblDatumPredstave);
- panDatumPredstave.add(txtDatumPredstave);
- boxCentar.add(panDatumPredstave);
- //-----------------------------------------------------------
- JPanel panVremePredstave= new JPanel(new FlowLayout(FlowLayout.LEFT));
- lblVremePredstave= new JLabel(
- MainFrame.getInstance().getResourceBundle().getString("lblVremePredstave")+
- MainFrame.getInstance().getResourceBundle().getString("lblFormatVremena")+
- " *");
- lblVremePredstave.setPreferredSize(lblDimension);
- txtVremePredstave = new JFormattedTextField(new SimpleDateFormat("hh-mm"));
- txtVremePredstave.setColumns(5);
- txtVremePredstave.addKeyListener(new MyKeyListenerTime());
- txtVremePredstave.setName("VremeIgranjaPredstave");
- txtVremePredstave.setEnabled(mode != StanjeDijaloga.BROWSE && mode != StanjeDijaloga.UPDATE);
- panVremePredstave.add(lblVremePredstave);
- panVremePredstave.add(txtVremePredstave);
- boxCentar.add(panVremePredstave);
- //-----------------------------------------------------------
- JPanel panSalaPredstave= new JPanel(new FlowLayout(FlowLayout.LEFT));
- lblSalaPredstave= new JLabel(
- MainFrame.getInstance().getResourceBundle().getString("lblSalaPredstave")+" *");
- lblSalaPredstave.setPreferredSize(lblDimension);
- cmbSalaPredstave = new JComboBox();
- Iterator<String> iterSale = ServisnaStanica.getInstance().getSale().getSaleIterator();
- while(iterSale.hasNext()){
- try{
- cmbSalaPredstave.addItem(ServisnaStanica.getInstance().getSale().getSala(iterSale.next()));
- }catch(ElementNePostoji e){
- e.printStackTrace();
- }
- }
- cmbSalaPredstave.setEnabled(mode != StanjeDijaloga.BROWSE && mode!= StanjeDijaloga.UPDATE);
- panSalaPredstave.add(lblSalaPredstave);
- panSalaPredstave.add(cmbSalaPredstave);
- boxCentar.add(panSalaPredstave);
- //-----------------------------------------------------------
- JPanel panKojiPut= new JPanel(new FlowLayout(FlowLayout.LEFT));
- lblKojiPut= new JLabel(
- MainFrame.getInstance().getResourceBundle().getString("lblKojiPut"));
- lblKojiPut.setPreferredSize(lblDimension);
- txtKojiPut = new JTextField(3);
- txtKojiPut.addKeyListener(new MyKeyListener());
- txtKojiPut.setName("KojiPutIgranje");
- txtKojiPut.setEnabled(mode != StanjeDijaloga.BROWSE);
- panKojiPut.add(lblKojiPut);
- panKojiPut.add(txtKojiPut);
- boxCentar.add(panKojiPut);
- add(boxCentar, BorderLayout.CENTER);
- }
- public JComboBox getCmbNazivPredstave() {
- return cmbNazivPredstave;
- }
- public void setCmbNazivPredstave(JComboBox cmbNazivPredstave) {
- this.cmbNazivPredstave = cmbNazivPredstave;
- }
- public JComboBox getCmbSalaPredstave() {
- return cmbSalaPredstave;
- }
- public void setCmbSalaPredstave(JComboBox cmbSalaPredstave) {
- this.cmbSalaPredstave = cmbSalaPredstave;
- }
- public JFormattedTextField getTxtDatumPredstave() {
- return txtDatumPredstave;
- }
- public void setTxtDatumPredstave(JFormattedTextField txtDatumPredstave) {
- this.txtDatumPredstave = txtDatumPredstave;
- }
- public JFormattedTextField getTxtVremePredstave() {
- return txtVremePredstave;
- }
- public void setTxtVremePredstave(JFormattedTextField txtVremePredstave) {
- this.txtVremePredstave = txtVremePredstave;
- }
- boolean isLegalDate(String s) {
- if(Locale.getDefault().equals(new Locale("en", "US")) ) {
- SimpleDateFormat sdf = new SimpleDateFormat("MM.dd.yyyy");
- sdf.setLenient(false);
- return sdf.parse(s, new ParsePosition(0)) != null;
- }
- else {
- SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy");
- sdf.setLenient(false);
- return sdf.parse(s, new ParsePosition(0)) != null;
- }
- }
- boolean isLegalTime(String s) {
- SimpleDateFormat sdf=new SimpleDateFormat("hh-mm");
- sdf.setLenient(false);
- return sdf.parse(s, new ParsePosition(0)) != null;
- }
- public Date getVreme() {
- return vreme;
- }
- public void setVreme(Date vreme) {
- this.vreme = vreme;
- }
- public Date getDatum() {
- return datum;
- }
- public void setDatum(Date datum) {
- this.datum = datum;
- }
- public JTextField getTxtKojiPut() {
- return txtKojiPut;
- }
- public void setTxtKojiPut(JTextField txtKojiPut) {
- this.txtKojiPut = txtKojiPut;
- }
- public JLabel getLblDatumPredstave() {
- return lblDatumPredstave;
- }
- @Override
- public void proveriIspravnostPodataka() throws RequiredFieldException{
- if (txtKojiPut.getText().trim().equals("")) {
- txtKojiPut.setText("0");
- }
- if (txtDatumPredstave.getText().trim().equals("")) {
- txtDatumPredstave.setBackground(Color.RED);
- RequiredFieldException rfe = new RequiredFieldException(MainFrame.getInstance().getResourceBundle().getString("requiredFieldMessage"));
- throw rfe;
- }
- else {
- //datum = (Date) txtDatumPredstave.getValue();
- String s = txtDatumPredstave.getText();
- SimpleDateFormat sdf=new SimpleDateFormat("dd.MM.yyyy");
- sdf.setLenient(false);
- datum =sdf.parse(s, new ParsePosition(0));
- }
- if (txtVremePredstave.getText().trim().equals("") ) {
- txtVremePredstave.setBackground(Color.RED);
- RequiredFieldException rfe = new RequiredFieldException(MainFrame.getInstance().getResourceBundle().getString("requiredFieldMessage"));
- throw rfe;
- }
- else {
- // vreme = (Date) txtVremePredstave.getValue();
- String s =txtVremePredstave.getText();
- SimpleDateFormat sdf=new SimpleDateFormat("hh-mm");
- sdf.setLenient(false);
- vreme = sdf.parse(s, new ParsePosition(0));
- if( isInterference() ) {
- txtVremePredstave.setBackground(Color.RED);
- RequiredFieldException rfe = new RequiredFieldException(MainFrame.getInstance().getResourceBundle().getString("interference"));
- throw rfe;
- }
- }
- }
- public boolean isInterference() {
- Iterator<String> iterIgranja =ServisnaStanica.getInstance().getIgranjePredstave().getIgranjePredstavaIterator();
- while(iterIgranja.hasNext()){
- try {
- Igranje igranje =ServisnaStanica.getInstance().getIgranjePredstave().getIgranje(iterIgranja.next());
- Predstava p= (Predstava) cmbNazivPredstave.getSelectedItem();
- int t = p.getTrajanjePredstave();
- int trajanje_faktor =60*1000;
- //**********************************************************
- Date pocetak_nova = vreme;
- Date zavrsetak_nove = new Date();
- zavrsetak_nove.setTime(vreme.getTime()+trajanje_faktor * t);
- //************************************************************
- Date pocetak_stare = new Date();
- pocetak_stare = igranje.getVreme();
- Date zavrsetak_stare = new Date();
- zavrsetak_stare = igranje.getDateVremeZavrsetka();
- //**********************************************************
- System.out.println(pocetak_nova);
- System.out.println(zavrsetak_nove);
- System.out.println(pocetak_stare);
- System.out.println(zavrsetak_stare);
- int i = igranje.getDatum().compareTo(datum);
- System.out.println(i);
- /*
- if( igranje.getSala().equals(cmbSalaPredstave.getSelectedItem() ) && i==1 ) {
- if(zavrsetak_nove.before(pocetak_stare) )
- return false;
- return true;
- }
- if( igranje.getSala().equals(cmbSalaPredstave.getSelectedItem() ) && i== -1 ) {
- if( zavrsetak_stare.before(pocetak_nova) )
- return false;
- return true;
- }*/
- if(igranje.getSala().equals(cmbSalaPredstave.getSelectedItem()) && igranje.getDatum().equals(datum) ) {
- if( zavrsetak_nove.before(pocetak_stare) )
- return false;
- if(pocetak_nova.after(zavrsetak_stare) )
- return false;
- return true;
- }
- }catch(ElementNePostoji e){
- e.printStackTrace();
- }
- }
- return false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement