Package barcode.gui

Source Code of barcode.gui.PSAEtiketTasarimEkrani

package barcode.gui;

import hibernateSwingApi.component.TablePanel;
import hibernateSwingApi.hibernate.HibernateManager;
import hibernateSwingApi.utils.Utils;

import java.awt.Color;
import java.awt.Component;
import java.awt.Font;
import java.awt.FontMetrics;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.List;

import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JSlider;
import javax.swing.JSpinner;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.SpinnerNumberModel;
import javax.swing.SwingConstants;
import javax.swing.UIManager;
import javax.swing.WindowConstants;
import javax.swing.border.LineBorder;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;

import service.AutoClosingMessageDialog;
import service.BarkodOlustur;
import service.LabelTasarimPaneli;
import service.PSAUtil;
import barcode.pojos.Etiket;
import barcode.pojos.EtiketLabel;
import barcode.pojos.EtiketLabelCesitler;
import barcode.pojos.PrintProperty;

public class PSAEtiketTasarimEkrani {

  private JFrame frame;
  private JPanel JPanelBarkodEkle;
  private JPanel JPanelOnizleme;
  private JPanel JPanelLabelTasarla;
  private JButton JButtonLabelEkle;
  private JComboBox<?> jComboBoxBarkodStnd;
  private JLabel JLabelBarkodGen;
  private JButton JButtonGeriDon;
  private TablePanel tablePanelLabelList;
  private JSpinner JSpinnerBarkodGen;
  private JSpinner JSpinnerBarkodYuks;
  private JLabel JLabelBarkodYuks;
  private JButton JButtonBarkodEkle;
  private JButton JButtonBarkodKaldir;
  private JButton JButtonKaydet;
  private JLabel JLabelOnizleme;
  private JLabel JLabelEklenmisYazlar;
  private JButton JButtonBarkod;
  private JSlider cSliderGen;
  private JSlider cSliderYuks;
  private JPanel panel_1;
  private JLabel JLabelEtiketGen;
  private JLabel JLabelEtiketYuks;
  private JSpinner JSpinnerEtiketGen;
  private JSpinner JSpinnerEtiketYuks;
  private JButton JButtonEtiketSil;
  private Etiket etiket;
  private List<EtiketLabelCesitler> etiketLabelCesitler;
  private PrintProperty pProperty;
  private boolean forUpdate;
  private boolean focusinLabel;
  private JLabel jLabelEtiketAdi;

  JPanel barkodPanel;
  List<EtiketLabel> list;
  BarkodOlustur barkod = new BarkodOlustur();
  private JTextField jTextFieldEtiketAdi;
  private JPanel jPanelEtiketTanım;

  public JFrame getFrame() {
    return frame;
  }

  public void setFrame(JFrame frame) {
    this.frame = frame;
  }

  @SuppressWarnings("unchecked")
  public PSAEtiketTasarimEkrani(Etiket etiket, PrintProperty pProperty,
      boolean forUpdate) {
    this.etiket = etiket;
    this.forUpdate = forUpdate;
    if (forUpdate) {
      list = (List<EtiketLabel>) HibernateManager.getInstance()
          .getEntitysList(etiket, "labelList");
    }
    this.pProperty = pProperty;
    initialize();
  }

  @SuppressWarnings({ "rawtypes", "unchecked" })
  private void initialize() {

    frame = new JFrame();
    frame.setBounds(0, 0, 753, 543);
    frame.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
    frame.setTitle("ETİKET TASARIM");
    frame.setResizable(false);
    frame.setIconImage(PSAUtil.getImageIconViaRelativePath(
        "picture/psaIcon.png").getImage());

    tablePanelLabelList = new TablePanel(null, EtiketLabel.class, true,
        true);
    tablePanelLabelList.getTable().setRowHeight(25);
    tablePanelLabelList.getTable().setAutoResizeMode(
        JTable.AUTO_RESIZE_ALL_COLUMNS);
    tablePanelLabelList.setBounds(10, 209, 340, 224);
    tablePanelLabelList.setBorder(new LineBorder(new Color(0, 0, 0), 2));

    JButtonKaydet = new JButton();
    JButtonKaydet.setFont(new Font("Tahoma", Font.BOLD, 15));
    JButtonKaydet.setIcon(PSAUtil
        .getImageIconViaRelativePath("picture/onay.png"));
    JButtonKaydet.setText("TASARIM KAYDET");
    JButtonKaydet.setBounds(500, 444, 235, 53);
    frame.getContentPane().add(JButtonKaydet);

    JButtonEtiketSil = new JButton();
    JButtonEtiketSil.setIcon(PSAUtil
        .getImageIconViaRelativePath("picture/silIcon.png"));
    JButtonEtiketSil.setText("ETİKET SİL");
    JButtonEtiketSil.setFont(new Font("Tahoma", Font.BOLD, 15));
    JButtonEtiketSil.setBounds(255, 444, 235, 53);
    frame.getContentPane().add(JButtonEtiketSil);
   
    jPanelEtiketTanım = new JPanel();
    jPanelEtiketTanım.setBackground(UIManager.getColor("Button.shadow"));
    jPanelEtiketTanım.setBounds(500, 373, 235, 61);
    frame.getContentPane().add(jPanelEtiketTanım);
    jPanelEtiketTanım.setLayout(null);

    jLabelEtiketAdi = new JLabel("ETİKET ADI");
    jLabelEtiketAdi.setBounds(28, 11, 184, 14);
    jPanelEtiketTanım.add(jLabelEtiketAdi);
    jLabelEtiketAdi.setFont(new Font("Tahoma", Font.BOLD, 14));
    jLabelEtiketAdi.setHorizontalAlignment(SwingConstants.CENTER);
   
    jTextFieldEtiketAdi = new JTextField(100);
    jTextFieldEtiketAdi.setBounds(28, 30, 184, 20);
    jPanelEtiketTanım.add(jTextFieldEtiketAdi);
   
    initForNotUpdate();
    initForUpdate();

    JPanelLabelTasarla = new JPanel();
    JPanelLabelTasarla
        .setBackground(UIManager.getColor("Panel.background"));
    JPanelLabelTasarla.setBounds(10, 53, 340, 120);
    JPanelLabelTasarla.setBorder(new LineBorder(new Color(0, 0, 0), 2));

    JButtonLabelEkle = new JButton();
    JButtonLabelEkle.setIcon(PSAUtil
        .getImageIconViaRelativePath("picture/ekle.png"));
    JButtonLabelEkle.setFont(new Font("Tahoma", Font.BOLD, 14));
    JButtonLabelEkle.setBounds(10, 11, 165, 34);
    JButtonLabelEkle.setText("Yeni Yazı Ekle");

    JPanelOnizleme = new JPanel();
    JPanelOnizleme.setBackground(Color.WHITE);
    JPanelOnizleme.setToolTipText("Önizleme");
    JPanelOnizleme.setBounds(404, 195, etiket.getEtiketGen(),
        etiket.getEtiketYuks());
    JPanelOnizleme.setBorder(new LineBorder(new Color(0, 0, 0), 2));
    frame.getContentPane().setLayout(null);
    frame.getContentPane().add(tablePanelLabelList);
    frame.getContentPane().add(JButtonLabelEkle);
    frame.getContentPane().add(JPanelLabelTasarla);
    JPanelLabelTasarla.setLayout(null);

    JPanelBarkodEkle = new JPanel();
    JPanelBarkodEkle.setBorder(new LineBorder(new Color(0, 0, 0), 2));
    JPanelBarkodEkle.setBounds(0, 0, 340, 120);

    JPanelBarkodEkle.setLayout(null);

    jComboBoxBarkodStnd = new JComboBox();
    jComboBoxBarkodStnd.setBounds(68, 22, 185, 20);
    JPanelBarkodEkle.add(jComboBoxBarkodStnd);
    jComboBoxBarkodStnd.setModel(new DefaultComboBoxModel(
        new String[] { "Code39" }));

    JLabelBarkodGen = new JLabel();
    JLabelBarkodGen.setBounds(22, 61, 92, 14);
    JPanelBarkodEkle.add(JLabelBarkodGen);
    JLabelBarkodGen.setText("Genişlik");

    JSpinnerBarkodGen = new JSpinner();
    JSpinnerBarkodGen.setBounds(98, 58, 47, 20);
    JPanelBarkodEkle.add(JSpinnerBarkodGen);
    JSpinnerBarkodGen.setModel(new SpinnerNumberModel(LabelTasarimPaneli
        .pxToMm((int) etiket.getBarkod().getBounds().getWidth()), 0,
        500, 2));

    JSpinnerBarkodYuks = new JSpinner();
    JSpinnerBarkodYuks.setBounds(271, 58, 47, 20);
    JPanelBarkodEkle.add(JSpinnerBarkodYuks);
    JSpinnerBarkodYuks.setModel(new SpinnerNumberModel(LabelTasarimPaneli
        .pxToMm((int) etiket.getBarkod().getBounds().getHeight()), 0,
        200, 2));

    JLabelBarkodYuks = new JLabel();
    JLabelBarkodYuks.setBounds(170, 61, 97, 14);
    JPanelBarkodEkle.add(JLabelBarkodYuks);
    JLabelBarkodYuks.setText("Yükseklik");

    JButtonBarkodEkle = new JButton();
    JButtonBarkodEkle.setBounds(49, 85, 108, 30);
    JPanelBarkodEkle.add(JButtonBarkodEkle);
    JButtonBarkodEkle.setText("Barkod Ekle");

    JButtonBarkodKaldir = new JButton();
    JButtonBarkodKaldir.setText("Barkodu Kaldır");
    JButtonBarkodKaldir.setBounds(167, 85, 130, 30);
    JPanelBarkodEkle.add(JButtonBarkodKaldir);

    frame.getContentPane().add(JPanelOnizleme);
    JPanelOnizleme.setLayout(null);

    JLabelOnizleme = new JLabel();
    JLabelOnizleme.setHorizontalAlignment(SwingConstants.CENTER);
    JLabelOnizleme.setFont(new Font("Tahoma", Font.BOLD, 14));
    JLabelOnizleme.setText("Etiket Önizleme");
    JLabelOnizleme.setBounds(404, 141, 189, 20);
    frame.getContentPane().add(JLabelOnizleme);

    JLabelEklenmisYazlar = new JLabel();
    JLabelEklenmisYazlar.setHorizontalAlignment(SwingConstants.CENTER);
    JLabelEklenmisYazlar.setFont(new Font("Tahoma", Font.BOLD, 14));
    JLabelEklenmisYazlar.setText("Eklenmiş Yazılar");
    JLabelEklenmisYazlar.setBounds(10, 184, 340, 20);
    frame.getContentPane().add(JLabelEklenmisYazlar);

    JButtonBarkod = new JButton();
    JButtonBarkod.setIcon(PSAUtil
        .getImageIconViaRelativePath("picture/barkod.png"));
    JButtonBarkod.setFont(new Font("Tahoma", Font.BOLD, 14));
    JButtonBarkod.setText("Barkod");
    JButtonBarkod.setBounds(185, 11, 165, 34);
    frame.getContentPane().add(JButtonBarkod);

    cSliderGen = new JSlider();
    cSliderGen.setMaximum(JPanelOnizleme.getWidth());
    cSliderGen.setValue(0);
    cSliderGen.setBounds(404, 171, JPanelOnizleme.getWidth(), 23);
    frame.getContentPane().add(cSliderGen);

    cSliderYuks = new JSlider(SwingConstants.VERTICAL);
    cSliderYuks.setMaximum(JPanelOnizleme.getHeight());
    cSliderYuks.setBounds(379, 195, 25, JPanelOnizleme.getHeight());
    cSliderYuks.setValue(500);
    frame.getContentPane().add(cSliderYuks);

    panel_1 = new JPanel();
    panel_1.setBorder(new LineBorder(new Color(0, 0, 0), 2));
    panel_1.setBounds(379, 53, 348, 71);
    frame.getContentPane().add(panel_1);
    panel_1.setLayout(null);

    JLabelEtiketGen = new JLabel();
    JLabelEtiketGen.setBounds(88, 11, 124, 20);
    panel_1.add(JLabelEtiketGen);
    JLabelEtiketGen.setFont(new Font("Tahoma", Font.PLAIN, 14));
    JLabelEtiketGen.setText("Etiket Genişliği");

    JLabelEtiketYuks = new JLabel();
    JLabelEtiketYuks.setBounds(88, 39, 124, 19);
    panel_1.add(JLabelEtiketYuks);
    JLabelEtiketYuks.setFont(new Font("Tahoma", Font.PLAIN, 14));
    JLabelEtiketYuks.setText("Etiket Yüksekliği");

    JSpinnerEtiketGen = new JSpinner();
    JSpinnerEtiketGen.setBounds(222, 13, 47, 20);
    panel_1.add(JSpinnerEtiketGen);
    JSpinnerEtiketGen.setModel(new SpinnerNumberModel(LabelTasarimPaneli
        .pxToMm(etiket.getEtiketGen()), 10, 100, 1));

    JSpinnerEtiketYuks = new JSpinner();
    JSpinnerEtiketYuks.setBounds(222, 40, 47, 20);
    panel_1.add(JSpinnerEtiketYuks);
    JSpinnerEtiketYuks.setModel(new SpinnerNumberModel(LabelTasarimPaneli
        .pxToMm(etiket.getEtiketYuks()), 10, 100, 1));

    JSpinnerEtiketGen
        .setValue(LabelTasarimPaneli.pxToMm(pProperty.getGen())
            / pProperty.getSutun());
    JSpinnerEtiketYuks.setValue(LabelTasarimPaneli.pxToMm(pProperty
        .getYuks()) / pProperty.getSatir());
    JSpinnerEtiketGen.setEnabled(false);
    JSpinnerEtiketYuks.setEnabled(false);

    JButtonGeriDon = new JButton();
    JButtonGeriDon.setIcon(PSAUtil
        .getImageIconViaRelativePath("picture/geriButonu.png"));
    JButtonGeriDon.setText("GERİ DÖN");
    JButtonGeriDon.setFont(new Font("Tahoma", Font.BOLD, 15));
    JButtonGeriDon.setBounds(10, 444, 235, 53);
    frame.getContentPane().add(JButtonGeriDon);

   

   

   
    refreshTable();
    componentInit();
    initListeners();
  }

  private void refreshTable() {
     tablePanelLabelList.setObjects(list);
  }

  private void componentInit() {
    for (int i = 0; i < list.size(); i++) {
      EtiketLabel label = list.get(i);
      JPanelOnizleme.add(label.getLabel());

      JPanelOnizleme.add(barkodPanel);
      JPanelOnizleme.updateUI();
      cSliderGen.setValue(barkodPanel.getX());
      cSliderYuks.setValue(cSliderYuks.getMaximum() - barkodPanel.getY());

    }

  }

  private void initForUpdate() {

    if (forUpdate) {
      if (etiket.getBounds() != null) {
        JPanel panel = barkod.barkodOlustur(etiket.getBarkodStndrt(),
            etiket.getBarkod().getData(), etiket.getBarkod()
                .getBounds(), 1, 20);
        etiket.setBarkod(barkod.getBarkod());
        barkodPanel = panel;
        barkodPanel.setBounds(etiket.getBounds());
        jTextFieldEtiketAdi.setText(etiket.getName());
      }
      JButtonKaydet.setText("GÜNCELLE");

    }

  }

  private void initForNotUpdate() {

    if (!forUpdate) {

      etiket = new Etiket();

      etiket.setBarkodStndrt("Code39");
      JPanel panel = barkod.barkodOlustur(
          etiket.getBarkodStndrt(),
          "123456789",
          new Rectangle(LabelTasarimPaneli.mmToPx(10),
              LabelTasarimPaneli.mmToPx(30), LabelTasarimPaneli
                  .mmToPx(40), LabelTasarimPaneli.mmToPx(9)),
          1, 20);
      etiket.setBarkod(barkod.getBarkod());
      etiket.setEtiketGen(pProperty.getGen() / pProperty.getSutun());
      etiket.setEtiketYuks(pProperty.getYuks() / pProperty.getSatir());
      etiket.setName("Yeni Etiket");

      barkodPanel = panel;
      String[] labelNames = { "sirketAdi", "grup", "pesinSatisFiyati",
          "taksitliSatisFiyati" };
      String[] labelContents = { "Şirket Adı", "Ürün Grubu",
          "Peşin Fiyat", "Taksitli Fiyat" };
      Font[] labelFonts = { new Font("Times New Roman", Font.PLAIN, 11),
          new Font("Times New Roman", Font.PLAIN, 11),
          new Font("Times New Roman", Font.PLAIN, 11),
          new Font("Times New Roman", Font.PLAIN, 11) };
      int[] labelYPositions = { 2, 30, 60, 90 };
      FontMetrics metrics;
      list = new ArrayList<>();
      for (int i = 0; i < labelNames.length; i++) {
        EtiketLabel etiketLabel = new EtiketLabel();
        JLabel label = new JLabel();
        label.setBackground(Color.white);
        label.setForeground(Color.black);
        label.setOpaque(false);
        label.setName(labelNames[i]);
        label.setText(labelContents[i]);
        label.setFont(labelFonts[i]);
        metrics = label.getFontMetrics(label.getFont());
        label.setBounds(LabelTasarimPaneli.mmToPx(10),
            labelYPositions[i],
            metrics.stringWidth(label.getText()),
            metrics.getHeight());
        etiketLabel.setLabel(label);
        list.add(etiketLabel);
      }

      tablePanelLabelList.setObjects(list);
      etiket.setLabelList(list);
      JButtonEtiketSil.setEnabled(false);

    }

  }

  @SuppressWarnings("unchecked")
  private void fillEtiketLabelCesitler() {
    etiketLabelCesitler = ((List<EtiketLabelCesitler>) HibernateManager
        .getInstance().get(EtiketLabelCesitler.class));
    if (etiketLabelCesitler.size() <= 0) {
      EtiketLabelCesitler cesitler = new EtiketLabelCesitler();
      cesitler.setLabelName("kod");
      HibernateManager.getInstance().save(cesitler);
      cesitler.setLabelName("sezon");
      HibernateManager.getInstance().save(cesitler);
      cesitler.setLabelName("grup");
      HibernateManager.getInstance().save(cesitler);
      cesitler.setLabelName("model");
      HibernateManager.getInstance().save(cesitler);
      cesitler.setLabelName("beden");
      HibernateManager.getInstance().save(cesitler);
      cesitler.setLabelName("cinsiyet");
      HibernateManager.getInstance().save(cesitler);
      cesitler.setLabelName("marka");
      HibernateManager.getInstance().save(cesitler);
      cesitler.setLabelName("renk");
      HibernateManager.getInstance().save(cesitler);
      cesitler.setLabelName("pesinSatisFiyati");
      HibernateManager.getInstance().save(cesitler);
      cesitler.setLabelName("taksitliSatisFiyati");
      HibernateManager.getInstance().save(cesitler);
      cesitler.setLabelName("bosLabel-1");
      HibernateManager.getInstance().save(cesitler);
      cesitler.setLabelName("bosLabel-2");
      HibernateManager.getInstance().save(cesitler);
      cesitler.setLabelName("bosLabel-3");
      HibernateManager.getInstance().save(cesitler);
      cesitler.setLabelName("bosLabel-4");
      HibernateManager.getInstance().save(cesitler);
      etiketLabelCesitler = ((List<EtiketLabelCesitler>) HibernateManager
          .getInstance().get(EtiketLabelCesitler.class));
    }
  }

  private void initListeners() {

    JButtonLabelEkle.addActionListener(new ActionListener() {

      @Override
      public void actionPerformed(ActionEvent arg0) {

        labelEkleClicked();

      }
    });

    cSliderGen.addChangeListener(new ChangeListener() {

      @Override
      public void stateChanged(ChangeEvent arg0) {

        sliderGenChanged();

      }
    });

    cSliderYuks.addChangeListener(new ChangeListener() {

      @Override
      public void stateChanged(ChangeEvent arg0) {

        sliderYuksChanged();

      }
    });

    JButtonKaydet.addActionListener(new ActionListener() {

      @Override
      public void actionPerformed(ActionEvent arg0) {

        kaydetClicked();

      }
    });

    tablePanelLabelList.getTable().getSelectionModel()
        .addListSelectionListener(new ListSelectionListener() {

          @Override
          public void valueChanged(ListSelectionEvent arg0) {
            if (arg0.getSource() == tablePanelLabelList.getTable()
                .getSelectionModel()) {

              tableSelection();

            }
          }
        });

    JButtonBarkod.addActionListener(new ActionListener() {

      @Override
      public void actionPerformed(ActionEvent e) {

        barkodClicked();

      }
    });

    JButtonBarkodKaldir.addActionListener(new ActionListener() {

      @Override
      public void actionPerformed(ActionEvent arg0) {

        barkodKaldirClicked();

      }
    });

    JButtonBarkodEkle.addActionListener(new ActionListener() {

      @Override
      public void actionPerformed(ActionEvent arg0) {

        barkodEkleClicked();

      }
    });

    JButtonGeriDon.addActionListener(new ActionListener() {

      @Override
      public void actionPerformed(ActionEvent arg0) {

        frame.dispose();

      }
    });

    JButtonEtiketSil.addActionListener(new ActionListener() {

      @Override
      public void actionPerformed(ActionEvent e) {

        etiketSilClicked();

      }
    });

    tablePanelLabelList.getTable().addMouseListener(
        new java.awt.event.MouseAdapter() {
          @Override
          public void mouseClicked(java.awt.event.MouseEvent evt) {
            if (tablePanelLabelList
                .getTable()
                .getModel()
                .getColumnName(
                    tablePanelLabelList.getTable()
                        .getSelectedColumn())
                .equals(" ")) {
              labelKaldirClicked();
            }
          }
        });

  }

  protected void etiketSilClicked() {
   
    int selectedOption = JOptionPane.showOptionDialog(null,
        "Etiketi silmek istediğinizden emin misiniz?",
        "SİSTEM UYARISI", JOptionPane.OK_CANCEL_OPTION,
        JOptionPane.INFORMATION_MESSAGE, null, new String[] { "EVET",
            "HAYIR" }, "default");
    if (selectedOption == JOptionPane.OK_OPTION) {
      boolean check = HibernateManager.getInstance().delete(etiket);
      if (check) {
        AutoClosingMessageDialog.showAutoClosingMessageDialog(
            "Etiket bilgisi silinmiştir.", 2);
        frame.setVisible(false);
      }
    }

  }

  protected void barkodEkleClicked() {

    Component[] comps = JPanelOnizleme.getComponents();

    for (int i = 0; i < comps.length; i++) {
      if (comps[i].getName().equals("barkod")) {
        JPanelOnizleme.remove(comps[i]);
        JPanelOnizleme.updateUI();
      }
    }
    int x = barkodPanel.getX();
    int y = barkodPanel.getY();
    int width = LabelTasarimPaneli.mmToPx((int) JSpinnerBarkodGen
        .getValue());
    int height = LabelTasarimPaneli.mmToPx((int) JSpinnerBarkodYuks
        .getValue());
    JPanel panel = barkod.barkodOlustur("Code39", etiket.getBarkod()
        .getData(), new Rectangle(x, y, width, height), 1, 20);
    panel.setName("barkod");
    JPanelOnizleme.add(panel);
    JPanelOnizleme.updateUI();
    cSliderGen.setValue(panel.getX());
    cSliderYuks.setValue(cSliderYuks.getMaximum() - panel.getY());

  }

  protected void barkodKaldirClicked() {

    Component[] comps = JPanelOnizleme.getComponents();
    for (int i = 0; i < comps.length; i++) {
      if (comps[i].getName().equals("barkod")) {
        barkodPanel = null;
        JPanelOnizleme.remove(comps[i]);
        JPanelOnizleme.updateUI();
      }
    }

  }

  protected void barkodClicked() {

    focusinLabel = false;
    Component[] comps = JPanelOnizleme.getComponents();

    for (int i = 0; i < comps.length; i++) {
      if (comps[i].getName().equals("barkod")) {
        cSliderGen.setValue(comps[i].getX());
        cSliderYuks
            .setValue(cSliderYuks.getMaximum() - comps[i].getY());
      }
    }
    JPanelLabelTasarla.removeAll();
    JPanelLabelTasarla.add(JPanelBarkodEkle);
    JPanelLabelTasarla.updateUI();

  }

  protected void tableSelection() {

    focusinLabel = true;
    JPanelLabelTasarla.removeAll();
    JPanelLabelTasarla.updateUI();

    EtiketLabel label = (EtiketLabel) tablePanelLabelList
        .getSelectedObject();
    if (label == null) {
      return;
    }
    cSliderGen.setValue(label.getLabel().getX());
    cSliderYuks
        .setValue(cSliderYuks.getMaximum() - label.getLabel().getY());
    LabelTasarimPaneli tasarimPaneli = new LabelTasarimPaneli();
    JPanel panel = tasarimPaneli.panelOlustur(JPanelOnizleme, label,
        cSliderGen, cSliderYuks);

    JPanelLabelTasarla.add(panel);
    JPanelLabelTasarla.updateUI();
    cSliderGen.updateUI();
    cSliderYuks.updateUI();

  }

  protected void kaydetClicked() {

    if (forUpdate) {
      etiket.setEtiketGen(JPanelOnizleme.getWidth());
      etiket.setEtiketYuks(JPanelOnizleme.getHeight());
      if (barkodPanel != null) {
        etiket.setBarkodStndrt("Code39");
        etiket.setBounds(barkodPanel.getBounds());
      }
      etiket.setLabelList(list);
      etiket.setName(jTextFieldEtiketAdi.getText());
      String[] options = { "Evet", "Hayır" };
      if (JOptionPane.showOptionDialog(null,
          "Etiketiniz güncellencektir, eminmisiniz ?", null,
          JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE,
          null, options, options[1]) == 0) {

        HibernateManager.getInstance().update(etiket);
        AutoClosingMessageDialog.showAutoClosingMessageDialog(
            "\"" + etiket.getName() + "\" "
                + "Etiketiniz Güncellendi !", 2);
        frame.setVisible(false);
      }

    } else if (!forUpdate) {
      String etiketAdi = jTextFieldEtiketAdi.getText().trim();
      if (etiketAdi == null || etiketAdi.equals("")) {
        Utils.showMessage("Etiket Adı Giriniz !");
        return;
      } else {
        @SuppressWarnings("unchecked")
        List<Etiket> etiketList = (List<Etiket>) HibernateManager
            .getInstance().get(Etiket.class);
        for (int i = 0; i < etiketList.size(); i++) {
          if (etiketList.get(i).getName().equals(etiketAdi)) {
            Utils.showMessage("Etiket Adı Mevcuttur !");
            return;
          }
        }
        etiket.setName(etiketAdi);
        etiket.setLabelList(list);
        etiket.setEtiketGen(JPanelOnizleme.getWidth());
        etiket.setEtiketYuks(JPanelOnizleme.getHeight());
        if (barkodPanel != null) {
          etiket.setBounds(barkodPanel.getBounds());
          etiket.setBarkod(barkod.getBarkod());
        }
        HibernateManager.getInstance().save(etiket);
        AutoClosingMessageDialog.showAutoClosingMessageDialog("\""
            + etiket.getName() + "\" " + "Etiketiniz Kaydedildi !",
            2);
        JButtonKaydet.setText("GÜNCELLE");
        JButtonEtiketSil.setEnabled(true);
        forUpdate = true;
        frame.setVisible(false);
      }

    }
  }

  protected void labelKaldirClicked() {
    if (tablePanelLabelList.getTable().getSelectedRow() < 0) {
      Utils.showMessage("Label Seçiniz !");
    } else {

      EtiketLabel label = (EtiketLabel) tablePanelLabelList
          .getSelectedObject();
      String labelName = label.getLabel().getName();
      Component[] components = JPanelOnizleme.getComponents();
      for (int i = 0; i < components.length; i++) {
        if (components[i].getName().equals(labelName)) {
          JPanelOnizleme.remove(components[i]);
          JPanelOnizleme.updateUI();
        }
      }
      list.remove(tablePanelLabelList.getSelectedObject());
      tablePanelLabelList.setObjects(list);
      JPanelLabelTasarla.removeAll();
      JPanelLabelTasarla.updateUI();
    }

  }

  protected void sliderYuksChanged() {

    Component[] comps = JPanelOnizleme.getComponents();
    barkodPanel = null;
    for (int i = 0; i < comps.length; i++) {
      if (comps[i].getName().equals("barkod")) {
        barkodPanel = (JPanel) comps[i];
      }
    }
    if (focusinLabel) {
      int value = cSliderYuks.getMaximum() - cSliderYuks.getValue();

      EtiketLabel etiket = (EtiketLabel) tablePanelLabelList
          .getSelectedObject();
      JLabel label = etiket.getLabel();
      label.setBounds(label.getX(), value, label.getWidth(),
          label.getHeight());

      for (int i = 0; i < comps.length; i++) {
        if (comps[i].getName().equals(label.getName())) {
          comps[i].setBounds(label.getX(), value, label.getWidth(),
              label.getHeight());
          break;
        }
      }
    } else if (!focusinLabel && barkodPanel != null) {
      barkodPanel.setBounds(barkodPanel.getX(), cSliderYuks.getMaximum()
          - cSliderYuks.getValue(), barkodPanel.getWidth(),
          barkodPanel.getHeight());

    }

    JPanelOnizleme.updateUI();

  }

  protected void sliderGenChanged() {

    Component[] compsOnizleme = JPanelOnizleme.getComponents();

    barkodPanel = null;
    for (int i = 0; i < compsOnizleme.length; i++) {
      if (compsOnizleme[i].getName().equals("barkod")) {
        barkodPanel = (JPanel) compsOnizleme[i];
      }
    }
    if (focusinLabel) {

      EtiketLabel etiket = (EtiketLabel) tablePanelLabelList
          .getSelectedObject();
      JLabel label = etiket.getLabel();
      label.setBounds(cSliderGen.getValue(), label.getY(),
          label.getWidth(), label.getHeight());

      for (int i = 0; i < compsOnizleme.length; i++) {
        if (compsOnizleme[i].getName().equals(label.getName())) {
          compsOnizleme[i].setBounds(cSliderGen.getValue(),
              label.getY(), label.getWidth(), label.getHeight());
          break;
        }
      }

    } else if (!focusinLabel && barkodPanel != null) {
      barkodPanel.setBounds(cSliderGen.getValue(), barkodPanel.getY(),
          barkodPanel.getWidth(), barkodPanel.getHeight());

    }

    JPanelOnizleme.updateUI();

  }

  protected void labelEkleClicked() {

    fillEtiketLabelCesitler();

    EtiketLabel newLabel = new EtiketLabel();
    newLabel.setLabel(new JLabel());

    String[] labelList = new String[etiketLabelCesitler.size()];
    for (int i = 0; i < etiketLabelCesitler.size(); i++) {
      labelList[i] = etiketLabelCesitler.get(i).getLabelName();
    }
    String labelName = (String) JOptionPane.showInputDialog(null, "", "YAZI EKLE",
        JOptionPane.QUESTION_MESSAGE, null, labelList, labelList[0]);
    if (labelName != null) {
      if (labelName.length() != 0 || !labelName.equals("")) {
        for (int i = 0; i < list.size(); i++) {

          if (labelName.equals(list.get(i).getLabel().getName())) {
            Utils.showMessage("Seçilen label etikette mevcuttur !");
            return;
          }
        }

        newLabel.getLabel().setName(labelName);
        switch (labelName) {
        case "kod":
          newLabel.getLabel().setText("Urun Kodu");
          break;
        case "sezon":
          newLabel.getLabel().setText("Urun Sezonu");
          break;
        case "grup":
          newLabel.getLabel().setText("Urun Grubu");
          break;
        case "model":
          newLabel.getLabel().setText("Urun Modeli");
          break;
        case "beden":
          newLabel.getLabel().setText("Urun Bedeni");
          break;
        case "cinsiyet":
          newLabel.getLabel().setText("Cinsiyet");
          break;
        case "marka":
          newLabel.getLabel().setText("Urun Markasi");
          break;
        case "renk":
          newLabel.getLabel().setText("Urun Rengi");
          break;
        case "pesinSatisFiyati":
          newLabel.getLabel().setText("Peşin Fiyatı");
          break;
        case "taksitliSatisFiyati":
          newLabel.getLabel().setText("Taksitli Fiyatı");
          break;
        case "bosLabel-1":
          newLabel.getLabel().setText("Boş Label - 1");
          break;
        case "bosLabel-2":
          newLabel.getLabel().setText("Boş Label - 2");
          break;
        case "bosLabel-3":
          newLabel.getLabel().setText("Boş Label - 3");
          break;
        case "bosLabel-4":
          newLabel.getLabel().setText("Boş Label - 4");
          break;
        default:
          break;
        }
        newLabel.getLabel().setBounds(0, 0, 100, 20);
        newLabel.getLabel().setFont(
            new Font("Times New Roman", Font.PLAIN, 11));
        newLabel.getLabel().setForeground(Color.BLACK);
        newLabel.getLabel().setBackground(Color.WHITE);
        JPanelOnizleme.add(newLabel.getLabel());
        JPanelOnizleme.updateUI();
        list.add(newLabel);

      }
    }
    tablePanelLabelList.setObjects(list);
    if (tablePanelLabelList.getTable().getRowCount() > 1) {
      tablePanelLabelList.getTable().setRowSelectionInterval(
          tablePanelLabelList.getTable().getRowCount() - 2,
          tablePanelLabelList.getTable().getRowCount() - 1);
    } else {
      tablePanelLabelList.getTable().setRowSelectionInterval(0, 0);
    }
    tableSelection();

  }
}
TOP

Related Classes of barcode.gui.PSAEtiketTasarimEkrani

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.